如果我在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,以便获得更完整的数据?
答案 0 :(得分:0)
您似乎无需在val3
中添加NA
到val2
值的值。在这种情况下,您只需要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