R - 计算每列中某些值的数量

标签 r dataframe row aggregate-functions predicate

我发现了与我类似的问题,但没有一个解释如何为数据框的每一列执行此操作。

我有一个这样的数据框:

x1 = seq(12, 200, length=20)
x2 = seq(50, 120, length=20)
x3 = seq(40, 250, length=20)
x4 = seq(100,130, length=20)
x5 = seq(10, 300, length=20) 

df = data.frame(V1=x1, V2=x2, V3=x3, V4=x4, V5=x5) 

现在我想获取每列大于 120 的值的数量。

我试过了:
nrow(df[,1] >120)

那没有用,它说 0,但它不是真的,而且我想自动完成所有列。

最佳答案

您可以使用 tidyverse来解决这个问题。

library(tidyverse)

df%>%
gather(x, value, V1:V5)%>%
group_by(x)%>%
tally(value > 120)

# A tibble: 5 x 2
  x         n
  <chr> <int>
1 V1        9
2 V2        0
3 V3       12
4 V4        7
5 V5       12

希望这可以帮助。

关于R - 计算每列中某些值的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628332/

相关文章:

python - Numpy 按行随机播放 3-D numpy 数组

css - 我可以将内容放在 bootstrap 3 网格的一行中吗?

mysql - 如何从 mysql 表中选择最后 10 行

r - 将漂亮的 data.frames/tables 打印到控制台

r - rmarkdown 文档的文本编辑器支持

python - 从行索引的数据帧索引数据帧

python - 将新数据框添加到现有数据库,但仅在列名匹配时添加

Python 日期工具 : Unable to calculate age from two dates (relativedelta)

r - 'RJDBC' 的 dbSendStatement() 中的 ORA-00900 错误

css - Shiny 应用程序中的可折叠框