用其他列的值替换列中的 NA

Replacing NAs in a column with the values of other column

我想知道如何使用 dplyr 将一列中的 NA 替换为 R 中其他列的值。 MWE在下面。

Letters <- LETTERS[1:5]
Char    <- c("a", "b", NA, "d", NA)
df1 <- data.frame(Letters, Char)
df1

library(dplyr]

df1 %>%
  mutate(Char1 = ifelse(Char != NA, Char, Letters))

     Letters Char Char1
1       A    a    NA
2       B    b    NA
3       C <NA>    NA
4       D    d    NA
5       E <NA>    NA

您可以使用 coalesce:

library(dplyr)

df1 <- data.frame(Letters, Char, stringsAsFactors = F)

df1 %>%
  mutate(Char1 = coalesce(Char, Letters))

  Letters Char Char1
1       A    a     a
2       B    b     b
3       C <NA>     C
4       D    d     d
5       E <NA>     E