wave <-c(1, 2, 3, 1, 2, 3, 1, 2, 1, 2)
id <-c(1, 1, 1, 2, 2, 2, 3, 3, 4, 4)
var1 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
var2 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
var3 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
df<- data.frame(wave,id,var1,var2,var3)
输出:df
**如何将wave 3中的NA替换为wave 2中的值?**应复制第二个wave中的所有值(也是NA)
我尝试了循环,但没有成功!
1条答案
按热度按时间lp0sw83n1#
Base R的另一个选项是使用
which
查找wave 3的行索引,并使用-1\f25 index-1(索引)替换如下值:创建于2023年3月18日,使用reprex v2.0.2
@TarJae的另一个选择,谢谢!
旧答案,不同数据OP
你可以使用
fill
的向下方向,如下所示:创建于2023年3月18日,使用reprex v2.0.2