如何从R中的另一列添加到现有列中

时间:2017-10-18 07:13:44

标签: r dataframe add missing-data

如果我在R

中有一个这样的数据帧
id   val1   val2   val3
1     1      40     44
1     5      N/A    44
2     1      42     N/A
3     13     N/A    N/A
3     5      N/A    42

如何将val3val2的值添加为N / A,以便获得更完整的数据?

1 个答案:

答案 0 :(得分:0)

您似乎无需在val3中添加NAval2值的值。在这种情况下,您只需要val3,因为如果val2丢失,val3 + val2 = val3(使用na.rm = TRUE设置)。

考虑以下示例。

data <- data.frame(id = c(1, 1, 2, 3, 3),
                 val1 = c(1, 5, 1, 13, 5),
                 val2 = c(40, NA, 42, NA, NA),
                 val3 = c(44, 44, NA, NA, 42))

data$new.val2 <- ifelse(is.na(data$val2), # is val2 == NA?
                        data$val3, # if TRUE, take val3
                        data$val2) # if FALSE, take val2