繁体   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