我想为数据框中的列创建多个值范围的滞后变量。我的代码可以成功执行我想要的操作,但无法根据我的需要进行扩展(数百次迭代)
我的下面的代码成功地完成了我想要的操作,但无法根据我的需要进行扩展(数百次迭代)
Lake_Lag <- Lake_Champlain_long.term_monitoring_1992_2016 %>%
group_by(StationID,Test) %>%
arrange(StationID,Test,VisitDate) %>%
mutate(lag.Result1 = dplyr::lag(Result, n = 1, default = NA))%>%
mutate(lag.Result5 = dplyr::lag(Result, n = 5, default = NA))%>%
mutate(lag.Result10 = dplyr::lag(Result, n = 10, default = NA))%>%
mutate(lag.Result15 = dplyr::lag(Result, n = 15, default = NA))%>%
mutate(lag.Result20 = dplyr::lag(Result, n = 20, default = NA))
我希望能够使用列表 c(1,5,10,15,20) 或范围 1:150 为我的数据框创建滞后变量。