我有一个这样的data.frame
VAR1 VAR2
1999 USA
1999 USA
1999 UK
2000 GER
2000 USA
2000 GER
2000 USA
2001 USA
我如何计算每年的任何级别的 VAR2?
我想要的是一个图,其中 x 轴是年份,y 轴是 VAR2 中任何级别的计数
我有一个这样的data.frame
VAR1 VAR2
1999 USA
1999 USA
1999 UK
2000 GER
2000 USA
2000 GER
2000 USA
2001 USA
我如何计算每年的任何级别的 VAR2?
我想要的是一个图,其中 x 轴是年份,y 轴是 VAR2 中任何级别的计数
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])
我能想到的最简单的方法:
让 dat = 你的数据框
with(dat,table(VAR1,VAR2))
输出将如下所示:
VAR2
VAR1 GER UK USA
1999 0 1 2
2000 2 0 2
2001 0 0 1
希望这可以帮助。
有很多方法,这个问题无疑是重复的。你试过什么?您可以dcast
在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