在数据框中组合两个匹配的变量

时间:2019-03-03 17:00:28

标签: r dataframe

我正在使用调查数据,并且在数据框中有两个因子变量,它们是相同的度量,但用于实验中的不同组。 (这是调查中的错误。) 所以现在我有:

df$a1 <- c(NA, NA, NA, 1, 0, 1)
df$a2 <- c(1, 1, 0, NA, NA, NA)

我如何将这两列合并一个值填入另一个的NA中?

2 个答案:

答案 0 :(得分:1)

使用R base:

df <- data.frame(a1 = c(NA, NA, NA, 1, 0, 1), 
                 a2 = c(1, 1, 0, NA, NA, NA))    
df$a_comb <- ifelse(is.na(df$a1), df$a2, df$a1)
df

 a1 a2 a_comb
1 NA  1      1
2 NA  1      1
3 NA  0      0
4  1 NA      1
5  0 NA      0
6  1 NA      1

答案 1 :(得分:0)

还可以:

df$combined <- dplyr::coalesce(df$a1, df$a2)

输出:

  a1 a2 combined
1 NA  1        1
2 NA  1        1
3 NA  0        0
4  1 NA        1
5  0 NA        0
6  1 NA        1