当我运行这个非常简单的代码时
c <- seq(0, 1, length.out=4)
x <- 0.5
for (l in 1:length(c)) {
if (l>1 & x>c[l-1] & x<c[l]) {
print(x)
}
}
控制台出现如下错误
Error in if ((l > 1 & x > c[l - 1] & x < c[l])) { :
argument is of length zero
最有趣的部分是,如果尝试使用“if”条件创建逻辑变量,一切正常:
> (l>1 & x>c[l-1] & x<c [l])
logical(0)
我做错了什么?
最佳答案
这是一个愚蠢的错误。根据this将 &
替换为 &&
可以解决我的问题。
关于R if else语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935422/