簡體   English   中英

如何在 R 中將 2 列與所有非唯一值或 NA 值合並,而不丟棄案例(保留 NA,合並重復項)

[英]How to unite 2 columns with all non-unique or NA values, without dropping cases (keep NA, merge duplicates) in R

我在 R 中創建了一個 dataframe。 這是一個示例 4 行摘錄(實際 df 為 13000 行):

   colA  colB
1  89    89
2  NA    NA
3  90    NA
4  NA    91

其中 NA 是空值。 每個案例包含每個變量的重復值、2 個空值或 1 個空值。

我想將列合並為 1 列,或創建新列,其中:

  • 每個案例都保存在 output
  • 如果值重復,則 output 中的值是相同的值(不應用任何算術 - 我不想添加/乘以這些值;而不是簡單地將值粘貼在一起)
  • 如果每個值為 NA(empty),則 output 值為 NA(empty)
  • 如果一個值為 NA(empty) 而另一個為實際值,則 output 應為實際值

這是我想要的 output:

   colC  
1  89    
2  NA    
3  90    
4  91    

我需要在我的 13000 行 df 的 2 列上執行此操作。

我們可以使用coalesce

library(dplyr)
df1 %>%
   transmute(ColC = coalesce(ColA, ColB))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM