我想spread
这个数据在下面(仅在这里显示的前12行)列'Year',返回'Orders'国家的名字'。然后计算“订单”的百分比变化为从2014年起每个“国家或地区名称”到2015年的R:如何在同一时间传播,group_by,汇总和变异
CountryName Days pCountry Revenue Orders Year
United Kingdom 0-1 days India 2604.799 13 2014
Norway 8-14 days Australia 5631.123 9 2015
US 31-45 days UAE 970.8324 2 2014
United Kingdom 4-7 days Austria 94.3814 1 2015
Norway 8-14 days Slovenia 939.8392 3 2014
South Korea 46-60 days Germany 1959.4199 15 2014
UK 8-14 days Poland 1394.9096 6. 2015
UK 61-90 days Lithuania -170.8035 -1 2015
US 8-14 days Belize 1687.68 5 2014
Australia 46-60 days Chile 888.72 2. 0 2014
US 15-30 days Turkey 2320.7355 8 2014
Australia 0-1 days Hong Kong 672.1099 2 2015
我可以用较小的测试数据框这项工作,但只能似乎回到无尽的错误,如“和没有意义因子'或'行的重复标识符'与完整的数据。在阅读dplyr文档几小时后,我尝试了一些放弃的东西。任何人都可以使用此代码...
data %>%
spread(Year, Orders) %>%
group_by(CountryName) %>%
summarise_all(.funs=c(Sum='sum'), na.rm=TRUE) %>%
mutate(percent_inc=100*((`2014_Sum`-`2015_Sum`)/`2014_Sum`))
预期的输出将是一个类似于下表。 (注:这些数字是为了说明,他们没有手算)
CountryName percent_inc
UK 34.2
US 28.2
Norway 36.1
... ...
编辑
我不得不做出一些编辑变量名称,请注意。
请提供样本数据使用'dput'以及预期的结果 – HubertL