以下是一个示例代码,用于按分组变量衡量年度滞后:
# 创建一个示例数据框
df <- data.frame(
group = rep(c("A", "B", "C"), each = 4),
year = rep(2010:2013, 3),
value = c(10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65)
)
# 定义一个函数,用于进行年度滞后计算
lag_by_year <- function(x, n = 1) {
if (n == 0) {
return(x)
} else {
return(c(rep(NA, n), head(x, -n)))
}
}
# 使用dplyr库进行数据处理
library(dplyr)
# 按分组变量进行年度滞后计算
df_lagged <- df %>%
group_by(group) %>%
mutate(lagged_value = lag_by_year(value))
# 查看结果
df_lagged
在这个示例中,我们首先创建了一个包含分组变量、年份和数值的示例数据框。然后,定义了一个名为lag_by_year
的函数,用于进行年度滞后计算。接下来,我们使用dplyr
库对数据进行处理。通过使用group_by
函数按分组变量对数据进行分组,然后使用mutate
函数对每个分组进行年度滞后计算,并将结果保存在一个新的列lagged_value
中。最后,我们查看了处理后的结果数据框。