R 与if-else语句相矛盾
我已经创建了一个数据集,其中包含2019-2020 MLB赛季各球队的当前跑步差异。我试图预测你是否应该下注的结果,以及你应该在哪支球队下注。这是一个非常基本的函数,但如果语句自相矛盾,我在其他方面遇到了麻烦 请注意以下代码中的语句:R 与if-else语句相矛盾,r,if-statement,R,If Statement,我已经创建了一个数据集,其中包含2019-2020 MLB赛季各球队的当前跑步差异。我试图预测你是否应该下注的结果,以及你应该在哪支球队下注。这是一个非常基本的函数,但如果语句自相矛盾,我在其他方面遇到了麻烦 请注意以下代码中的语句: if(x > y) 与以下内容相矛盾: if(x > 2*y) 当我调用x大于双y的函数时,它仍然返回BETX而不是所需的LOCKX 我将尝试为骆家辉做同样的事情,但我想先解决这个问题 提前谢谢你 bets <- function(x, y
if(x > y)
与以下内容相矛盾:
if(x > 2*y)
当我调用x大于双y的函数时,它仍然返回BETX而不是所需的LOCKX
我将尝试为骆家辉做同样的事情,但我想先解决这个问题
提前谢谢你
bets <- function(x, y){
if(x > y){
return("BETX")
}
else if(x == y){
return("NO BET")
}
else if(x > 2*y){
return("LOCKX")
}else{
return("BETY")
}
}
bets(cubsdiff, diamondbacksdiff) ## BET CUBS
bets(yankeesdiff, royalsdiff) ## BET YANKS
如果x=50,y=5,那么x>y,x>2*y 因此,这并不矛盾 但您可以在第一个if条件中添加以下内容:
if (x > y & x <= 2*y){
return("BETX")
}
因此,只有当x大于y但不太大,即小于2*y时,才返回BETX
否则,您可以先检查x>2y,然后检查x>y
bets <- function(x, y){
if(x > 2y){
return("LOCKX")
}
else if(x == y){
return("NO BET")
}
else if(x > y){
return("BETX")
}else{
return("BETY")
}
}
有很多方法可以解决这个问题 先询问x>2*y 询问x>y块内的x>2*y 或者用复合语句替换x>y语句
if (x > y & x <= 2*y){
return("BETX")
}
...
if(x > y){
if(x > 2*y){
return("LOCKX")
} else {
return("BETX")
}
}
...
if (x > y & x <= 2*y){
return("BETX")
}
...