【发布时间】:2021-04-18 18:59:58
【问题描述】:
是否可以在一个列中迭代使用cumsum(),并以另一列为条件开始-停止:
- 假设数据框
df有一列X,其中值是升序的。 -
cumsum()应该在达到 10 或 10 的倍数时停止(例如 20、30、40、...)。 - 然后在达到这一点后 (10,20,30,40,..) cumsum() 应该开始新的...等等。
- 如果出现平局(20,20 或 30,30)
cumsum应在 10、20、30、40、...的最后一次出现时停止 这是数据框:
df <- structure(list(X = c(55L, 95L, 39L, 52L, 22L, 93L, 76L, 82L,
77L, 58L, 60L, 19L, 31L, 43L, 65L, 56L, 18L, 66L, 21L, 49L, 13L,
37L, 36L, 51L, 41L, 7L, 91L, 3L, 11L, 65L, 51L, 32L, 25L, 10L,
5L, 7L, 8L, 3L, 72L, 66L, 93L, 24L, 48L, 44L, 91L, 60L, 62L,
89L, 100L, 69L, 5L, 89L, 54L, 19L, 39L, 93L, 60L, 64L, 89L, 81L,
24L, 9L, 51L, 9L, 7L, 69L, 19L, 51L, 39L, 100L, 83L, 67L, 33L,
84L, 66L, 25L, 20L, 87L, 55L, 56L, 83L, 52L, 96L, 42L, 16L, 64L,
45L, 30L, 55L, 29L, 16L, 73L, 40L, 29L, 92L, 6L, 38L, 12L, 38L,
89L)), class = "data.frame", row.names = c(NA, -100L))
非常感谢!!!
以期望的输出为例,最多 30 个。
【问题讨论】:
-
您能否提供预期结果?
-
其实我拿不到第四点
-
df %>% arrange(X)