首页 > 解决方案 > 如何通过添加两列并赋予其中一个优先级来创建新列?

问题描述

我有以下数据框,我想得到如图所示的 C。检查 A 是否有值,那么它将出现在 C 中。如果 A 中没有值,则 C 将取 B 值。

data <- 
structure(list(A = c(15L, 20L, NA, 8L), B = c(7L, NA, 9L, 6L), 
    C = c(15L, 20L, 9L, 8L)), class = "data.frame", row.names = c(NA, 
-4L))

我试过类似的东西:

data$C <- coalesce(data$A, data$B)

标签: r

解决方案


我们可以用

data %>% mutate(C = coalesce(A, B))

推荐阅读