我要获取的样本数据:
data = data.frame(year=c(10,11,12,13,14),
lag=c(9,10,11,12,13),
lead=c(11,12,13,14,15))
这是一个循环
for (year in c(10:14)){
year
}
我想使用这种循环样式创建一个数据框,该循环将循环中的值存储到新变量中,如示例数据所示。这是我在下面的尝试,但给出了错误。
for (year in c(10:14)){
year = x[i] = year ;
lag = x[i+1] = year - 1;
lead = x[i+2] = year + 1
}
答案 0 :(得分:0)
假设您想将每年未知且不可公开的功能应用于f(x)
,则可以使用dplyr
来添加新列,如下所示:
data = data%>%mutate(New_column_1= f(year),
New_column_2= f2(year),
etc ...)
答案 1 :(得分:0)
我希望这会有所帮助
library(dplyr)
data_df <- data.frame(year=c(10,11,12,13,14))
data_df %>% mutate(lag_val= lag(year, n=1, default = year[1]-1),
lead_val= lead(year, n=1, default = year[nrow(data_df)]+1))