我有像这样的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中任何级别的计数
答案 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