我的数据框由三列组成:州名,年份以及每年和每个州的税收收据。以下是一个州的例子。
data %>% group_by(state) %>% mutate(change = c(NA, diff(RealTaxRevs)/RealTaxRevs
我想计算上一年税收收入百分比的变化(例如(1977年税收收入 - 1976年税收收入)/ 1976年税收收据)。代码可能如下所示:
{{1}}
但它不起作用,因为它计算了本年度税收收入的百分比。如何将RealTaxRevs向后移动一个位置,以便我可以计算上一年税收收入的百分比?或者在dplyr中的优雅方式?
答案 0 :(得分:0)
使用lag
:
library(dplyr)
data %>%
group_by(state) %>%
mutate(change = RealTaxRevs / lag(RealTaxRevs) - 1)