如何组合两列并替换R中的缺失值?
假设我有一个data.frame:
D = data.frame(a = c(1,NA,3), b = c(1,2,NA))
看起来像这样
a b
1 1 1
2 NA 2
3 3 NA
如何让它看起来像这样:
c
1 1
2 2
3 3
答案 0 :(得分:1)
假设两列具有相同的值,或者其中一列将是NA
D = data.frame(a = c(1,NA,3), b = c(1,2,NA))
D[['c']] <- rowMeans(D, na.rm = TRUE)
D
a b c
1 1 1 1
2 NA 2 2
3 3 NA 3
答案 1 :(得分:1)
如果列a是主列,并且您希望将b中的值复制为当时的NA:
D = data.frame(a = c(1,NA,3), b = c(1,2,NA))
D2=data.frame(c = D$a)
D2$c[is.na(D2$c)] <- D$b[is.na(D$a)]
D2
c
1 1
2 2
3 3