如何将其合并为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应该是:&#34; 1&#34;,&#34; 2&#34;,&#34; 3&#34;,&#34; 4&#34;。 (现在需要在df中选择超过2的列)
这效果不好:
df$a <- df$b[!is.na(df$b)]
答案 0 :(得分:0)
我们可以使用pmax
df$a <- do.call(pmax, c(df, na.rm = TRUE))
或coalesce
library(dplyr)
df %>%
mutate(a = coalesce(a,b))
# a b
#1 1 <NA>
#2 2 <NA>
#3 3 3
#4 4 4