由于我在以下问题中找不到答案:
如何模仿新行的拖动功能,例如在 Excel 中但在 R 中?
我将尝试提出与上述相关的新问题。即,我想根据先前值的输出将自定义函数按组递归地应用到当前行。
带有数据框和 for 循环的示例:
for(i in 2:nrow(df1)) df1$z[i] <- df1$z[i-1] + df1$x[i-1] - df1$y[i-1]
带有数据框和带有自定义函数的 for 循环的示例:
for(i in 2:nrow(df1)) df1$z[i] <- ifelse(df1$z[i-1] == df1$z[i],
df1$z[i-1] + df1$x[i-1] - df1$y[i-1],
df1$z[i-1] - df1$x[i-1] - df1$y[i-1])
但是,对于 >1 行,data.frames 和 for 循环不是最佳的。
有没有什么办法可以用data.table
ordtplyr
和优化但也可以分组?
编辑: 见问题的可视化。
它应该首先像 in 一样从第二行开始for(i in 2:nrow(df)
,它应该使用the custom function if and only if group[i]==group[i-1]