r - 如何使用来自多个其他列的所有非 NA 值创建新列?

我想创建一个 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/

相关文章:

r - 如何在 R 中绘制阶乘函数

php - woocommerce rest API 每次调用仅提供 10 个订单

git - 是否可以轻松地将所有提交从一个分支移动到另一个分支作为一个提交?

google-apps-script - 可以在谷歌脚本中设置一个标题

assembly - 汇编中的函数结语

git - 无法解析主机名

types - Julia 中的大宽度整数?

ruby-on-rails - Rails 加入或包含有条件的 belongs_to

apache-camel - 如何在 apache camel 中全局设置交换属性

regex - 如何在 Chrome Dev Tools 中过滤没有扩展的 XHR 请求?