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

how to add into an existing column from another column in R

如果我在 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 的值相加,以便获得更完整的数据?

您似乎不需要将 val3 的值添加到 val2 中的 NA 值。在这种情况下,您只需要取 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