[英]Iterating through columns in a data.frame to count its values
我有一個名為“ant”的 data.frame 像這樣(原始有 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
我想要:
到目前為止,我的第一步是:
for(i in 1:ncol(ant)) {
ant %>% count(i)
}
但我得到了一個錯誤:
Error: Must group by variables found in `.data`.
* Column `i` is not found.
我不知道如何繼續。
此外,data.frame 中存在的任何 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)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.