0

我有 2 个向量和一个数字。

a <- rnorm(40,10,4)
d <- rep(0,length(a)
filling_limit <- 8

has.room现在,如果满足 2 个条件,我想要一个 40*1 布尔向量 ( ) 给我信息:

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

而不是返回一个 40 次的向量,TRUE我只得到一个TRUE. 这是什么原因?如果你想知道零向量:这个东西是循环的一部分,d会随着时间的推移而改变。谢谢!

4

2 回答 2

3

尝试:

has.room  <- a > 0 & d < filling_limit
于 2012-07-03T11:40:52.953 回答
2
has.room  <- a > 0 & d < filling_limit

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

于 2012-07-03T11:41:05.590 回答