【问题标题】:logicals operators long and short forms on vectors向量上的逻辑运算符长形式和短形式
【发布时间】:2014-02-15 22:52:43
【问题描述】:

我在 SO 上阅读了很多关于逻辑运算符的短格式和长格式之间区别的帖子,但我需要明确的精度。

我读到了:

较长的形式从左到右计算,仅检查每个向量的第一个元素。

那么,是这样吗:

c(TRUE, TRUE) && c(TRUE, NA)

与此完全相同的操作:

(c(TRUE, TRUE) & c(TRUE, NA))[1]

第一个向量的第一个元素和第二个向量的第一个元素之间的逻辑&的结果?

如果这是正确的,那么简单地返回每个向量的第一个元素之间的逻辑运算符返回的值有什么意义?
我想它不应该与向量一起使用吗?

【问题讨论】:

    标签: r syntax vectorization logical-operators


    【解决方案1】:

    ?'&&' 给出你想要更长的表格的地方:

    The longer form is appropriate for programming control-flow and typically
    preferred in if clauses.
    

    if 采用单个值。不幸的是,如果向量长度超过 1,&& 不会发出警告(if 会发出警告),因此很难发现这样的错误。

    确实,您不应该将 && 与长度不是 1 的向量一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2015-12-04
      • 1970-01-01
      • 2012-02-04
      相关资源
      最近更新 更多