我有2列(stage,year2000)和6行的数据框,如图所示。阶段(A,B,C,D,E,F),2000年(100,120,90,80,70,NA)
我使用以下R代码添加了新列“ year2001”:
data$year2001 <- ifelse(data$stage=="A", data$year2000*0.1,
ifelse(data$stage=="B", lag(data$year2000, 1)*0.9+data$year2000*0.2,
ifelse(data$stage=="C", lag(data$year2000, 1)*0.8+data$year2000*0.3,
ifelse(data$stage=="D", lag(data$year2000, 1)*0.7+data$year2000*0.4,
ifelse(data$stage=="E", lag(data$year2000, 1)*0.6+data$year2000*0.5,
ifelse(data$stage=="F", lag(data$year2000, 1)*0.5,NA))))))
例如,stageC_year2001是stageB_year2000 * 0.8和stageC_year2000 * 0.3之和
我的问题是如何使用创建year2001列的相同公式自动填充R中的更多列(如excel中的“自动填充”功能),“ year2002,year2003,year2004等”。新列是使用其左侧的列进行计算的。
非常感谢!