【发布时间】:2021-06-21 04:40:15
【问题描述】:
我正在尝试使用mutate 开发一个 cumsum。挑战在于我有 10 个专栏要做,而且我知道如何一一做。有没有办法让我做类似mutate(across(all_of(c(3:4)), ~cumsum(c(3:4))) 的事情?
cat %>%
group_by(animals) %>%
mutate(weight1 = cumsum(weight1),
weight2 = cumsum(weight2))
structure(list(animals = c("E1", "E1", "E1",
"E2", "E2", "E2"), period = structure(c(18690,
18697, 18704, 18690, 18697, 18704), class = "Date"), weight1 = c(704,
734, 653, 851, 911, 829), weight2 = c(0, 235, 325, 0, 148,
200)), row.names = c(NA, -6L), class = c("data.table", "data.frame"))
预期输出:
animals period weight1 weight2
<chr> <date> <dbl> <dbl>
1 E1 2021-03-04 704 0
2 E1 2021-03-11 1438 235
3 E1 2021-03-18 2091 560
4 E2 2021-03-04 851 0
5 E2 2021-03-11 1762 148
6 E2 2021-03-18 2591 348
【问题讨论】: