【发布时间】:2018-05-15 19:15:14
【问题描述】:
我有一个大数据集,其中包含很多 NAs 和一些非 Na 值。
目前,我计算每一列的非NA 值,如下所示:
attach(df)
1000 - (sum(is.na(X1)))
1000 - (sum(is.na(X2)))
1000 - (sum(is.na(X3)))
1000 - (sum(is.na(X4)))
1000 - (sum(is.na(X5)))
...
detach(df)
所以我观察的总长度 - 我的 NA 值的总和。
有没有一种更快的方法,它使用更少的代码行和打字工作,让我快速了解所有非NA 值的列和数量?
像 for 循环之类的?
我正在寻找这样的东西:
X1 Amount of Non-Na-Values
X2 ...
X3 ...
X4
X5
X6
谢谢你:)
【问题讨论】:
-
不要使用
attach,导致的问题多于解决的问题。 -
很容易产生错误。如果您对数据进行任何子集化、分组或重新排列,您附加的列可能会彼此不同步,并且与实际数据不同步。还有更好的选择:许多函数都有一个
data参数,所以你根本不需要它,你可以使用with()做其他任何事情。见Why is it advisable to not use attach() in R? 和When to use with() and why is it good?