我希望您能根据'年份'这一列将以下数据(仅显示前12行)进行“展开”,返回按'国家名称'分组的'订单'总和。然后计算每个'国家名称'在2014年至2015年之间'订单'数量的百分比变化。
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