【发布时间】:2019-06-27 16:44:26
【问题描述】:
所以我有一个包含多列和多行的数据框。我希望能够将所有列中的 NA 数量逐行分配给一个新变量(NACount)。像这样的:
Col1 Col2 Col3 Col4 NACount
A A B NA 1
B B NA NA 2
我构建了一个循环来执行此操作,但我的数据集很大,所以循环需要很长时间!这是我的代码:
for(i in 1:nrow(dat)){
temp = which(!is.na(dat[i,]))
dat$NACount[[i]] = length(temp)
}
请帮我找到一个更简单的方法来做到这一点!
非常感谢!
【问题讨论】:
-
dat$na_count = apply(dat,1,function(x) sum(is.na(x)))