我想创建一个 d 列,其中包含其他列中的所有非 NA 值。
我试过 ifelse,但不知道如何以正确的方式嵌套它,以便也包含 c 列中的值。 也许应该使用 ifelse 之外的其他东西?
这是一个“虚拟”数据框:
a <- c(NA, NA, NA, "A", "B", "A", NA, NA)
b <- c("D", "A", "C", NA, NA, NA, NA, NA)
c <- c(NA, NA, NA, NA, NA, NA, "C", NA)
data <- data.frame(a, b, c)
我希望 d 列看起来像这样:
data$d <- c("D", "A", "C", "A", "B", "A", "C", NA)
View(data)
最佳答案
我们可以使用pmax
do.call(pmax, c(data, list(na.rm=TRUE)))
#[1] "D" "A" "C" "A" "B" "A" "C" NA
data <- data.frame(a, b, c, stringsAsFactors=FALSE)
https://stackoverflow.com/questions/38374971/