我有一个包含 year|country|growth_rate 列的数据框。我想将每个国家/地区的增长率与我选择的其他国家/地区进行比较,并筛选出在给定年份增长率较高的国家/地区。
所以我认为第一步是在所有国家的增长率和我选择的国家之间进行比较,我设法做到了这一点:
difference <- ddply(data, .(year), transform,
x=growth_rate - 4)
这会给我我想要的第一个数据框,只有硬编码的 4 应该是相应年份所选国家(比如说加拿大)的增长率。我试过类似的东西:
difference <- ddply(data, .(year), transform,
x=growth_rate - data[country=="Canada",]$growth_rate)
但这不正确。
一旦我得到这个正确,下一步将是只过滤那些 x>0 的行。
任何帮助将不胜感激。
这是我的数据框的样子:
> head(data)
iso2c country growth_rate year
1 1A Arab World 3.911548 2012
2 1A Arab World 5.282387 2011
3 1A Arab World 4.648676 2010
4 1A Arab World 2.253365 2009
5 1A Arab World 6.509886 2008
6 1A Arab World 5.634384 2007