首页 > 解决方案 > 使用合并合并 2 列的问题

问题描述

我想将 2 列中的值合并为 1。例如,这是示例数据:

id   x    y
1   12    NA
1   NA    14  
2   13    NA    
3   15    NA
3   NA    18
4   NA    19

我想

id   x    y     z
1   12    NA    12  
1   NA    14    14  
2   13    NA    13 
3   15    NA    15 
3   NA    18    18
4   NA    19    19

我尝试使用合并来创建一个新变量。

coalesce <- function(...) {
  apply(cbind(...), 1, function(x) {
    x[which(!is.na(x))[1]]
  })
}

df$z <- coalesce(df$x, df$y)

但是,该变量不反映连接的列。我是否错误地使用了此功能?



标签: rmergecol

解决方案


推荐阅读