如何计算data.frame中因子的级别,按该data.frame的另一个值分组[GNU R]

时间:2013-05-17 08:10:36

标签: r

我有像这样的data.frame

VAR1 VAR2
1999 USA
1999 USA
1999 UK
2000 GER
2000 USA
2000 GER
2000 USA
2001 USA

我如何计算每年任何级别的VAR2?

我想要的是一个情节,其中x-ax是年份,而y-ax是VAR2中任何级别的计数

3 个答案:

答案 0 :(得分:3)

data.table解决方案

library(data.table)

new.dat = data.table(dat)[,length(unique(var2)),by=var1]
new.dat=as.matrix(new.dat)
plot(x=new.dat[,1],y=new.dat[,2])

答案 1 :(得分:3)

我能想到的最简单的方法:

让dat =您的数据框

with(dat,table(VAR1,VAR2))

输出看起来像这样:

      VAR2
VAR1   GER UK USA
  1999   0  1   2
  2000   2  0   2
  2001   0  0   1

希望这有帮助。

答案 2 :(得分:1)

有很多方法,这个问题无疑是重复的。你有什么尝试?您可以在dcast pacakge中使用reshape2

require(reshape2)
dcast( df , Country ~ Year , length )

#  Country 1999 2000 2001
#1     GER    0    2    0
#2      UK    1    0    0
#3     USA    2    2    1