2015-11-05 35 views
0

假设我有以下数据帧:为数据框中的所有列创建NA表计数?

df1 <- 
    data.frame(
    letters = sample(
     x = c(letters,NA), replace = T, size = 100 
    ), 
    LETTERS = sample(
     x = c(LETTERS,NA), replace = T, size = 100 
    ), 
    Numbers = sample(
     x = c(0:9,NA), replace = T, size = 100 
    ) 
) 

我想生成与NA的数据帧计数每列:

data.frame(NA.letters=sum(is.na(df1$letters)), 
      NA.LETTERS=sum(is.na(df1$LETTERS)), 
      NA.Numbers=sum(is.na(df1$Numbers))) 

是否有这样做的更好的办法?当你有很多列时,我的解决方案是非常不切实际的。我正在考虑类似dplyr::rowwise()但列的。

回答

3

您可以使用colSums:

colSums(is.na(df1)) 

letters LETTERS Numbers 
     0  4  10 
相关问题