如果在 R 列中检测到非缺失值,则通过 id 用其他变量填充 NA 列

问题描述 投票:0回答:1

我正在尝试摆脱这样的事情:

对此:

这是,用

seq
m
的值填充
id
列,之后
counter
有与缺失

不同的值

我尝试使用

fill
中的功能
tidyr
和选项
down
但不起作用。谢谢

r group-by fill
1个回答
1
投票

我认为这应该有效:

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 行。
    

© www.soinside.com 2019 - 2024. All rights reserved.