2015-11-05 2 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 
    ) 
) 

Я хочу, чтобы сгенерировать кадр данных с НС рассчитывать для каждого столбца:

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 
Смежные вопросы