用其他列的值替换列中的 NA
Posted
技术标签:
【中文标题】用其他列的值替换列中的 NA【英文标题】:Replacing NAs in a column with the values of other column 【发布时间】:2018-02-18 14:21:34 【问题描述】:我想知道如何使用dplyr
将列中的NA
s 替换为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
【问题讨论】:
【参考方案1】:你可以使用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
【讨论】:
以上是关于用其他列的值替换列中的 NA的主要内容,如果未能解决你的问题,请参考以下文章
用列表 Pyspark Dataframe 中的值替换 NA