我有2个向量,单个数字。
a <- rnorm(40,10,4)
d <- rep(0,length(a)
filling_limit <- 8
现在,我想要一个40 * 1的布尔矢量(has.room
)给我信息,如果满足2个条件:
has.room <- a > 0 && d < filling_limit
而不是返回40次TRUE
的向量,我只得到一个TRUE
。
这是什么原因?如果你想知道零向量:这个东西是循环的一部分,d
将在时间内改变。谢谢!
答案 0 :(得分:3)
尝试:
has.room <- a > 0 & d < filling_limit
答案 1 :(得分:2)
has.room <- a > 0 & d < filling_limit
从逻辑运算符的帮助页面:
&
和&&
表示逻辑AND,|
和||
表示逻辑OR。 较短的形式执行元素比较,其方式与算术运算符非常相似。较长的形式从左到右评估仅检查每个向量的第一个元素。评估仅在确定结果之前进行。