使用合并將2列合并為1列時出現問題

我想將2列中的值合并為1列。例如,以下是示例數據:

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

I want

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

我嘗試使用coalesce創建一個新變量。

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

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

但是,該變量不反映連接的列。我是否錯誤地使用了此功能?

? 最佳回答:

您可以使用dplyr::coalesce函數:

> df$z <- dplyr::coalesce(ifelse(df$x == "", NA, df$x), df$y)
> df
  id  x  y  z
1  1 12    12
2  1    14 14
3  2 13    13
4  3 15    15
5  3    18 18
6  4    19 19
> 

要實現我自己的mycoalesce

mycoalesce <- function(...) {apply(cbind(...), 1, max)}

And:

> df$z <- mycoalesce(df$x, df$y)
> df
  id  x  y  z
1  1 12    12
2  1    14 14
3  2 13    13
4  3 15    15
5  3    18 18
6  4    19 19
> 
主站蜘蛛池模板: 成人H动漫精品一区二区| 一区二区三区视频在线| 熟妇人妻系列av无码一区二区 | 精品人妻一区二区三区四区 | 欧美日韩一区二区成人午夜电影 | 国产免费私拍一区二区三区| 色老头在线一区二区三区| 精品日本一区二区三区在线观看| 国产精品视频一区国模私拍| 一区二区免费视频| 国产AV午夜精品一区二区三| 国产乱子伦一区二区三区| 国产91大片精品一区在线观看| 国产精品毛片VA一区二区三区| 精品国产日韩亚洲一区| 精品一区二区三区无码视频| 精品一区狼人国产在线| 国产品无码一区二区三区在线| 麻豆果冻传媒2021精品传媒一区下载 | 国产一区二区在线|播放| 无码人妻一区二区三区免费| 国产一区二区三区乱码网站| 亚洲一区二区三区无码国产| 91久久精品午夜一区二区| 亚洲午夜在线一区| 97av麻豆蜜桃一区二区| 99精品一区二区三区| 国产SUV精品一区二区88L| 在线观看国产一区亚洲bd| 国产伦精品一区二区三区四区| 无码毛片一区二区三区视频免费播放 | 少妇无码一区二区三区免费| 亚洲国产精品第一区二区| 亚洲AV本道一区二区三区四区| 亚洲AV美女一区二区三区| 亚洲一区二区三区久久| 日本一道高清一区二区三区| 在线观看日韩一区| 亚洲一区视频在线播放| 国产凹凸在线一区二区| 97一区二区三区四区久久|