r - 运动 R 功能问题;否则-如果?
问题描述
基于以下k1
、k2
和k3
值x
x = GP$PDiff
k1 = 35*sin(0.0561*x)
k2 = -(1/7)*x + 39
k3 = 30
我有以下if...else
问题
if (x <= 28){{
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k1, initialRating = 1500, homeAdvantage = 0)
}
else if (x > 28|x <= 35){
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k2, initialRating = 1500, homeAdvantage = 0)
}
else{
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k3, initialRating = 1500, homeAdvantage = 0)
}
}
当我尝试运行它时,我收到错误消息“在'else'中出现意外的'else'”,并且我的括号也有错误。
我尝试使用 运行它elseif
,我尝试了其他几个建议的问题,但无法弄清楚。
我正在使用不断变化的x
值运行它,并建议尝试for
循环,但我是 R 中的相对菜鸟,不知道如何for
在这种情况下设置循环。
解决方案
我建议在最后添加一个 else 案例,然后为 x>28 | 单独设置一个条件。x<=35。
可能有一种更优雅的方法可以做到这一点,但这种方法确实有效。
if (x <= 28){
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k1, initialRating = 1500, homeAdvantage = 0)
}
else{
if (x > 28|x <= 35){
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k2, initialRating = 1500, homeAdvantage = 0)
}
else{
elo <- eloRating(home="HomeTeam", away="AwayTeam", homeScore="HomeScore", awayScore = "AwayScore",
data = GP, kfactor = k3, initialRating = 1500, homeAdvantage = 0)
}}
推荐阅读
- laravel-5 - 如果用户注销,则更新值
- javascript - 如何使用 Fetch API 从 API 显示图像?
- laravel - 在 Web 上播放 RTSP 直播流的可能方式有哪些?
- javascript - 变量在 for 循环内不可见
- javascript - 如何避免在angularjs中的多项选择中自动排序
- ionic2 - 当我从 ionic 3 的导航栏中单击页面时,多次订阅事件。如何解决这个问题?
- java - 从 HandlerInterceptor 抛出 HTTP 状态代码异常
- c# - 身份用户管理器 DeleteAsync DbUpdateConcurrencyException
- powerapps - 如何修复 Powerapps 上的可访问标签错误
- mysql - AWS RDS MySql 或 Postgres - 性能明智和成本明智?