如何在整个R数据框架中制表?

时间:2011-10-26 19:02:15

标签: r

我有一个数据框,其中包含列v1, v2, ..., v30,其中包含相同的因子变量,尽管列之间的级别不同(v3下的'210N'可能不会出现在v5下,因为例子 - 我不确定这是否会导致我的麻烦)。理想情况下,我希望,而不是table(df$v1)table(df$v2),...继续table(df$v30),并将我感兴趣的价值的所有计数加起来,有一些解决方案可以执行相当于table(df$[, v1...v30])的操作 - 不需要我在所有列中强制执行相同的级别,因为理论上应该有大约6000个级别。

到目前为止,我天真地尝试将v1上的表与v2上的表合并,并设置all=TRUE,尽管这不起作用:随后的表包含两个不同的计数。相同的因子水平,即'210N'出现两次,但频率不同。

2 个答案:

答案 0 :(得分:4)

这是执行此操作的一种方法

table(unlist(df))

答案 1 :(得分:3)

一种方法是

library(plyr)
llply(.data=df, .fun=table)