【问题标题】:R how many element satisfy a condition?R 有多少元素满足一个条件?
【发布时间】:2012-12-04 03:29:00
【问题描述】:

有没有更好的方法来计算结果中有多少元素满足条件?

a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
u <- a > b
length(u[u == TRUE])
## [1] 7

【问题讨论】:

标签: r


【解决方案1】:

sum 直接执行此操作,计算逻辑向量中 TRUE 值的数量:

sum(u, na.rm=TRUE)

当然没有必要为此构造 u:

sum(a > b, na.rm=TRUE)

同样有效。如果任何值为NA,sum 将默认返回NA。 na.rm=TRUE 忽略总和中的 NA 值(对于逻辑或数字)。

【讨论】:

  • 如果你使用mean而不是sum,那么你就会得到比例。
【解决方案2】:

我一直用桌子来做这个:

a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
table(a>b)
FALSE  TRUE 
    8     7 

【讨论】:

    【解决方案3】:

    如果z 仅包含TRUE 或FALSE,则只需

    length(which(z))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      • 2015-05-21
      • 2019-06-12
      相关资源
      最近更新 更多