我认为这应该有效:
library(dplyr)
your_data |>
mutate(
seq = ifelse(cumsum(is.na(counter)) > 0, m, seq),
.by = year
)
如果没有输入,我无法对此进行测试 - 您的数据屏幕截图不能作为输入。如果您遇到任何问题,请编辑您的问题,通过提供测试数据使其“可重现”。最简单的方法是使用 dput()
,
dput(your_data[1:10, ])
将创建复制/可粘贴的 R 代码来重现 your_data
的前 10 行。