【发布时间】:2015-11-11 14:39:03
【问题描述】:
我的数据采用以下形式:
df <- data.frame(Sector=c(rep("A",8),rep("B",8)), Country = c(rep("USA", 16)),
Quarter=rep(1:8,2),Income=20:35)
df2 <- data.frame(Sector=c(rep("A",8),rep("B",8)), Country = c(rep("UK", 16)),
Quarter=rep(1:8,2),Income=32:47)
df <- rbind(df, df2)
我想做的是计算每年第一季度到第二年第一季度的增长率,在国家和部门内。在上面的示例中,它将是从第 1 季度到第 5 季度的增长率。因此,对于美国的 A 部门,它将是 (24/20)-1=0.2
然后我想将此数据作为新列附加到数据框中。
我查看了以下解决方案: How calculate growth rate in long format data frame?
但是如果滞后超过一个时间单位,则没有 r-skills 让它工作。有什么建议吗?
添加
所以我想要的是增长率,即下例中的 (24/20)-1=0.2。不是我第一次写的 1-(24/20)。所需的输出应如下所示:
Sector Country Quarter Income growth
(fctr) (fctr) (int) (int) (dbl)
1 A USA 1 20 NA
2 A USA 2 21 NA
3 A USA 3 22 NA
4 A USA 4 23 NA
5 A USA 5 24 0.2
6 A USA 6 25 0.1904
7 A USA 7 26 0.1818
【问题讨论】: