【发布时间】:2016-06-03 11:03:47
【问题描述】:
我在 data.table 中有如下数据:
> x<-df[sample(nrow(df), 10),]
> x
> Importer Exporter Date
1: Ecuador United Kingdom 2004-01-13
2: Mexico United States 2013-11-19
3: Australia United States 2006-08-11
4: United States United States 2009-05-04
5: India United States 2007-07-16
6: Guatemala Guatemala 2014-07-02
7: Israel Israel 2000-02-22
8: India United States 2014-02-11
9: Peru Peru 2007-03-26
10: Poland France 2014-09-15
我正在尝试创建摘要,以便给定时间段(比如十年),我可以找到每个国家/地区作为进口商和出口商出现的次数。因此,在上面的示例中,除以十倍数时所需的输出应该是这样的:
Decade Country.Name Importer.Count Exporter.Count
2000 Ecuador 1 0
2000 Mexico 1 1
2000 Australia 1 0
2000 United States 1 3
.
.
.
2010 United States 0 2
.
.
.
到目前为止,我已经尝试过 here 帖子所建议的聚合和 data.table 方法,但它们似乎都只是给我计算了每年进口商/出口商的数量(或者十年,因为我更多感兴趣)。
> x$Decade<-year(x$Date)-year(x$Date)%%10
> importer_per_yr<-aggregate(Importer ~ Decade, FUN=length, data=x)
> importer_per_yr
Decade Importer
2 2000 6
3 2010 4
考虑到聚合使用公式接口,我尝试添加另一个条件,但得到以下错误:
> importer_per_yr<-aggregate(Importer~ Decade + unique(Importer), FUN=length, data=x)
Error in model.frame.default(formula = Importer ~ Decade + :
variable lengths differ (found for 'unique(Importer)')
有没有办法根据十年和进口商/出口商创建摘要?导入器和导出器的摘要是否在不同的表中无关紧要。
【问题讨论】:
标签: r data.table