【发布时间】:2016-01-02 16:32:22
【问题描述】:
我有以下数据集,其中包含两家公司在五年内的销售数据信息。我想以第一年的数字为基准,计算每家公司随后每一年的销售额变化百分比。我使用以下内容:
transform(dataset, SalesD = unlist(aggregate(Sales ~ Company, function(x) ((x - x[1]) / x[1]) * 100, data=Dataset)$Sales))
但我没有得到第二家公司的正确值(我预计第 6 行的值为零,因为这是基准年)。结果如下:
+----+---------+------+--------+--------+
| ID | Company | Year | Sales | SalesD |
+----+---------+------+--------+--------+
| 1 | LSL | 2015 | 100000 | 0 |
| 2 | LSL | 2016 | 120000 | 20 |
| 3 | LSL | 2017 | 150000 | 50 |
| 4 | LSL | 2018 | 100000 | 0 |
| 5 | LSL | 2019 | 50000 | -50 |
| 6 | IDA | 2015 | 150000 | 50 |
| 7 | IDA | 2016 | 180000 | 80 |
| 8 | IDA | 2017 | 200000 | 100 |
| 9 | IDA | 2018 | 180000 | 80 |
| 10 | IDA | 2019 | 160000 | 60 |
+----+---------+------+--------+--------+
你能帮我指出代码中有什么问题吗? 非常感谢!
【问题讨论】:
标签: r time-series