我有一个数据框,其中某些列存在缺失值。是否可以使用dplyr有效地计算每个列缺失的百分比,即NA。类似于colSum的功能。这样我就不必单独计算每个列的缺失百分比了吗?
首先,我为您创建了一组测试数据:
a<- c(1,NA,NA,4)
b<- c(NA,2,3,4)
x<- data.frame(a,b)
x
# a b
# 1 1 NA
# 2 NA 2
# 3 NA 3
# 4 4 4
那么你可以使用 colMeans(is.na(x))
:
colMeans(is.na(x))
# a b
# 0.50 0.25
我们可以使用summarise_each
library(dplyr)
x %>%
summarise_each(funs(100*mean(is.na(.))))
purrr::map
的简洁性,它非常适合这种情况:
x %>% map(~ mean(is.na(.)))
colMeans(is.na(x))
(基于R基础而非dplyr
)可能有效。 - Ben Bolkerdplyr
。使用dplyr
进行计算。我有什么遗漏吗? - akrun