如何从 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
如何将 val3
到 val2
的 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
如果我在 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
如何将 val3
到 val2
的 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