使用上一列的公式填充新列

时间:2019-11-14 04:54:51

标签: r multiple-columns calculated-columns populate

我有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等”。新列是使用其左侧的列进行计算的。

非常感谢!

dataframe

0 个答案:

没有答案