遍历data.frame中的列以计算其值

  • 本文关键字:计算 data frame 遍历 r
  • 更新时间 :
  • 英文 :


我有一个名为"蚂蚁;像这样(原件有217行22列(:

V1  V2  V3  V4  V5
No  No  No  Sí  No
No  No  No  Sí  No
Sí  No  No  Sí  No
No  No  No  No  No
No  No  No  Sí  No
No  No  No  Sí  No

我想:

  1. 数数有多少";Sí"以及";否";在每列(变量(中
  2. 将该信息存储在一个新的数据帧中,如下所示
  3. 最后将这个新的数据帧绘制为条形图

到目前为止,我的第一步是:

for(i in 1:ncol(ant)) {
ant %>% count(i)
}

但我有一个错误:

Error: Must group by variables found in `.data`.
* Column `i` is not found.

我不知道该怎么办。

此外,数据帧中存在的任何NA和/或空格是否会影响计算?

谢谢你的帮助。

使用基R:

> as.data.frame(rbind(apply(df, 2, function(x) sum(x == 'Sí', na.rm = T)), apply(df, 2, function(x) sum(x == 'No', na.rm = T))), row.names = c('Sí','No'))
V1 V2 V3 V4 V5
Sí  1  0  0  5  0
No  5  6  6  1  6
> 

试试这个-它使用rlang::sym

df <- data.frame()
for(i in names(ant)) {
d <- ant %>% count(!!sym(i))
df <- rbind(df, d)
}

最新更新