【发布时间】:2017-09-12 12:53:51
【问题描述】:
如何将其合并为 1 列?
df <- data.frame(a = c("1", "2", NA, NA), b = c(NA, NA, "3", "4"), c = c(NA, "5", "6", NA), stringsAsFactors = F)
我只想将所有值从 b 获取到没有 NA 的 a。所以 a 应该是:“1”、“2”、“3”、“4”。 (现在需要从 df 中的 2 个以上的列中选择)
这效果不好:
df$a <- df$b[!is.na(df$b)]
【问题讨论】:
-
查看链接的帖子,其中有许多适用于多列的解决方案。例如,按照下面 akrun 的建议,尝试:
dplyr::coalesce(df$a, df$b, df$c)