假设我有以下数据框:
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()
,但是对于列。
答案 0 :(得分:3)
您可以使用colSums:
colSums(is.na(df1))
letters LETTERS Numbers
0 4 10