我有2个向量,每个向量都有一些NA值。
a <- c(1, 2, NA, 3, 4, NA)
b <- c(NA, 6, 7, 8, 9, NA)
我希望将这两者与a
结果结合使用,如果结果为非NA,则使用a中的值,否则为b
的值。
所以结果如下:
c <- c(1, 2, 7, 3, 4, NA)
我怎样才能在R中有效地做到这一点?
答案 0 :(得分:2)
怎么样:
> c <- ifelse(is.na(a), b, a)
> c
[1] 1 2 7 3 4 NA
答案 1 :(得分:1)
尝试
a[is.na(a)] <- b[is.na(a)]
a
## [1] 1 2 7 3 4 NA
或者,如果您不想覆盖a
,请执行
c <- a
c[is.na(c)] <- b[is.na(c)]
c
## [1] 1 2 7 3 4 NA