R中的数字频率计数

时间:2015-11-16 20:24:39

标签: r dataframe frequency

我有一个大数据框(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

谢谢!

1 个答案:

答案 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