我有一个非常基本的问题,但是无法弄清楚R中必要的控制结构,因为我对R编程很新。
情况如下:
我有一个包含10个因子变量的data.frame,每个变量有4个级别(非常重要 - 不重要)。现在我想计算每个变量中水平的出现并将它们放在一个新的数据帧中。那应该是这样的:
Var1 Var2 etc..
Important 78 ...
.... 12 ...
.... 4 ...
Unimportant 0 etc.
截至目前,我只能考虑使用plyr包中的count()来计算每个原始变量,然后以某种方式将列与cbind()一起计算。但是,这需要大量的打字工作,我无法抑制在R中必须有更好的解决方法的感觉。
但是,我无法在R中找出必要的命令,因为我对R编程很新。
答案 0 :(得分:1)
试试这个:
data.frame(sapply(your.dataframe, function(x) { summary(x) }))
summary()
是一个神奇的小R
函数,它会为您提供输入向量(或本例中的数据框列)中每个因子级别的出现次数。
我还要注意,只有your.dataframe
中的每一列具有相同数量的因子(在原始问题中为真且等于4)时,此解决方案才有效。