【问题标题】:2 conditions for creating a boolean vector2 创建布尔向量的条件
【发布时间】:2012-07-03 11:33:46
【问题描述】:

我有 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 会随时间改变。谢谢!

【问题讨论】:

    标签: r if-statement operators boolean


    【解决方案1】:

    试试:

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

    【讨论】:

    • 我还建议 OP 检查 ?"&amp;"
    【解决方案2】:
    has.room  <- a > 0 & d < filling_limit
    

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

    【讨论】:

    • +1 进行解释。您可能会指出您引用的帮助页面可以通过?"&amp;&amp;"?Logic 访问。
    猜你喜欢
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2018-03-19
    • 2012-06-02
    • 1970-01-01
    • 2023-03-29
    • 2013-05-15
    • 2013-09-24
    相关资源
    最近更新 更多