我有一个大数据框(100列和~250,000个观测值),其中我试图同时获得每个变量的数值和NA的频率计数。我曾尝试使用table
,但数据对于函数来说太大了。有关如何获得这些计数的任何建议?数据仅包含NA和数字1到5,因此例如,数据的一小部分是:
i1 i2 i3 i4 i5 i6 i7 i8
5 4 3 NA 3 4 3 NA
4 3 2 5 4 3 5 NA
谢谢!
答案 0 :(得分:1)
我创建了一个包含5列和250,000行的数据框,每列都是从向量c(1:5,NA)
中提取的样本。使用apply函数我没有问题:
new_df <- apply(df,2,table)
我假设您希望按列拆分频率。如果你真的想要整个数据帧的频率,你可以在列上执行上面提到的apply函数,然后使用另一个apply函数来对行进行求和,如下所示:
apply(new_df,1,sum)
我的结果看起来像这样
1 2 3 4 5
167025 166677 166471 166849 166541