转换FOR循环以应用于R

时间:2017-04-03 15:22:14

标签: r apply

我试图学习如何使用申请,但我有点卡住了。此循环将所有列(前四个除外)转换为累计总和。

任何人都可以帮助我吗?谢谢!

for (i in seq_along(newbuilds.byfuel.bydate)) {
  if (i >= 5) {
    newbuilds.byfuel.bydate[i] <- cumsum(newbuilds.byfuel.bydate[i])

  }
}

1 个答案:

答案 0 :(得分:2)

如果您的对象是## dummy dataset x <- mtcars

,我会这样做
lapply

使用cumsum循环显示所需的列,计算x[5:ncol(x)] <- lapply(x[5:ncol(x)], cumsum) ,然后覆盖原始列:

x[-(1:4)] <- lapply(x[-(1:4)], cumsum)

或者,循环遍历未删除的列:

title