r - 与 if else 语句相矛盾
问题描述
我创建了一个数据集,其中包含 2019-2020 MLB 赛季球队当前的运行差异。我正在尝试预测结果(如果您应该下注,以及您应该下注哪支球队)。这是一个非常基本的功能,但我在 else if 语句自相矛盾时遇到了麻烦。
请注意下面的代码中的语句:
if(x > y)
与以下内容相矛盾:
if(x > 2*y)
当我用 x 超过两倍 y 调用函数时,它仍然返回“BETX”而不是所需的“LOCKX”
我将尝试为“LOCKY”做同样的事情,但我很想先解决这个问题。
先感谢您!
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 > 2*y
先问是否
if(x > 2*y){
return("LOCKX")
}
else if(x > y){
return("BETX")
}
...
询问是否x > 2*y
在x>y
街区内
if(x > y){
if(x > 2*y){
return("LOCKX")
} else {
return("BETX")
}
}
...
或用x > y
复合语句替换您的语句
if (x > y & x <= 2*y){
return("BETX")
}
...
推荐阅读
- node.js - Node Js Lambda 运行时错误找不到'util'
- c# - 在 linq 中执行 Join
- javascript - 如何更改没有ID的按钮的href
- python - Pytorch:使用预训练的向量来初始化nn.Embedding,但是这个embedding层在训练过程中没有更新
- db2 - 将 BLOB 转换为 VARCHAR 而不是 VARCHAR FOR BIT
- ios - 为什么我的快速初始化程序没有出现?
- c# - c#模式避免使用switch语句重复相似的逻辑
- flutter - 如何使用 Flutter 在 Firestore 中复制包含子集合的文档?
- php - php/iis 服务器 sql 数据库错误/问题
- python - 如何使用 Django 变量设置 HTML 元素的宽度?