【发布时间】:2019-09-01 07:09:52
【问题描述】:
我需要根据具有 NA 值的列的某些条件和其他列的值在 R 中创建一个新列。
我尝试了以下代码,例如:
expr1 <- data.frame(from =c("S01", "S02"),to1= c("S02", "S03"),tel=c(123,456))
expr2 <- data.frame(from =c("S01", "S04"),to2= c("S02", "S05"),post=c('ABC','XYZ'))
exp <- full_join(expr1, expr2,by="from")
exp
现在我想创建一个名为 to 的新列,它可以为我提供一个新列的值:
类似于名为“to”的列,其值为 S02 S03 S05。所以'to'类似于
ifelse(is.na(exp$to1)== TRUE,exp$to=exp$to2 , exp$to=exp$to1)
【问题讨论】:
-
见
?dplyr::coalesce。is.na(exp$to1)也将返回 T/F 不需要做is.na(exp$to1)==TRUE