【发布时间】:2018-06-26 10:37:53
【问题描述】:
我想在同一行中检查 R 中的三个逻辑运算符。也就是说,如果 x1 或 x3 小于 0.05 或 x2 小于 0.1
,我希望 Y1 变为 1if (x1 <0.05 | x2 < 0.1 | x3 <0.05) {
Y1 <- 1
}
但是,R 给了我以下错误信息:
## Warning in if (x1 < 0.05 | x2 < 0.1 | x3 < 0.05) {: the condition has length > 1 and only the first element will be used
为什么 R 会给我一条错误消息?如果这是一个问题,我如何在不使用两个 if 语句的情况下解决这个问题?
【问题讨论】:
-
x1、x2 和 x3 可能是长度 > 1 的向量,对吧?您可能应该使用矢量化的
ifelse()函数。 -
请通过提供
x1、x2、x3和y1的示例使错误可重现。 -
如果条件不满足,Y1应该是什么。
标签: r if-statement logical-operators