【发布时间】:2018-02-07 16:49:28
【问题描述】:
我正在尝试将值从一行复制到对应列中值为 NA 的另一指定行。
在这种情况下——如果第 1 行中的值是 NA,他们应该从第 5 行复制值。如果第 2 行中的值是 NA,他们应该复制第 6 行中的值。
这是示例数据框:
Name1 Name2
1 NA NA
2 4 NA
3 5 8
4 2 5
5 3 6
6 4 7
7 5 8
这是预期的输出:
Name1 Name2
1 3 6
2 4 7
3 5 8
4 2 5
5 3 6
6 4 7
7 5 8
我可以通过为数据框的每个单元格编写一个 if 语句来实现这一点,但这并不理想。 (基于示例数据框——下面的代码基本上必须重复四次。)
例子:
if (is.na(df[1,]$Name1){
df[1,]$Name1 = df[5,]$Name1
}
您如何为此编写更高效的代码?
【问题讨论】: