[英]R count the number of occurrences of a specific value within each column of dataframe
這似乎是一個非常基本的問題,但我找不到一個解決方案來滿足我對 dataframe 的所有列的要求。
我有一個 dataframe:
df = data.frame(cats = c("A", "B", "C", NA, NA), dogs = c(-99, "F", NA, -99, "H"))
我想計算每列中出現 NA 的次數。 我還想計算每列中出現 -99 的次數。 我可以使用 summarise_all 來計算每列的 NA 數量。
df %>% summarise_all(~ sum(is.na(.)))
這會產生所需的結果:
cats dogs
2 1
但我不知道如何調整它來計算每列出現 -99 的次數。 我試過以下方法:
df %>% summarise_all(~ sum(-99))
產生這個結果:
cats dogs
-99 -99
此結果為每一列顯示 -99,即使它從未在貓中出現,也不會產生 -99 出現的次數。 必須有一個簡單的方法來做到這一點? 謝謝你的幫助!
你幾乎到了那里,你需要在sum
中使用na.rm = TRUE
> df %>% summarise_all(~ sum(.== -99, na.rm = TRUE))
cats dogs
1 0 2
使用base R
colSums(df == -99, na.rm = TRUE)
cats dogs
0 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.