按非NA值合并两个向量

jam*_*rta 8 r vector na

可能重复:
逐个元素组合两个向量

我有两个向量

d = c(1, 2, NA, NA)
c = c(NA, NA, 1, NA)
Run Code Online (Sandbox Code Playgroud)

如何获得将非NA组合的输出如下?

[1] 1 2  1 NA
Run Code Online (Sandbox Code Playgroud)

谢谢

csg*_*pie 6

你问的是有点模糊.例如,如果您的元素都不是NA,会发生什么?

无论如何,这是一种给出所需结果的方法:

##Don't name things c - it's confusing.
d1 = c(1,2,NA,NA)
d2 = c(NA,NA,1,NA)

d1[is.na(d1)] = d2[is.na(d1)]
Run Code Online (Sandbox Code Playgroud)

这使:

R> d1
[1]  1  2  1 NA
Run Code Online (Sandbox Code Playgroud)