2015-11-05 64 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 
相關問題