我的 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
.
.
.
到目前为止,我已经按照帖子的建议尝试了聚合和 data.table 方法here https://stackoverflow.com/questions/14641874/summary-of-data-for-each-year-in-r,但他们似乎都只是给我每年(或十年,因为我对此更感兴趣)的进口商/出口商数量的计数。
> 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)')
有没有办法根据十年和进口商/出口商创建摘要?进口商和出口商的摘要是否位于不同的表中并不重要。