创建布尔向量的2个条件

时间:2012-07-03 11:33:47

标签: r if-statement operators boolean

我有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将在时间内改变。谢谢!

2 个答案:

答案 0 :(得分:3)

尝试:

has.room  <- a > 0 & d < filling_limit

答案 1 :(得分:2)

has.room  <- a > 0 & d < filling_limit

从逻辑运算符的帮助页面: &&&表示逻辑AND,|||表示逻辑OR。 较短的形式执行元素比较,其方式与算术运算符非常相似。较长的形式从左到右评估仅检查每个向量的第一个元素。评估仅在确定结果之前进行。