首页 > 解决方案 > 合并两个数据框 - ID 的联合,值上的“ANY”

问题描述

我有两个表AB,具有以下 3 列/变量:

  1. id:唯一的患者标识符(字符字符串)
  2. cancer: 是否存在癌症的二元变量 ( 0=no, 1=yes)
  3. hiv: 表示是否存在 HIV 的二元变量 ( 0=no, 1=yes)

这两个表可能有不同的id's 集,但它们具有相同的 3 列。

我想要做的是合并它们,使合并的表包含以下内容:

  1. id:来自AB(即联合)的整个唯一患者标识符集
  2. cancer:如果1患者有cancer=1或。否则,包括如果丢失。AB0
  3. hiv: 一样,cancer除了hiv

我不确定这样做的最佳方法是什么。Base R、tidyverse 或 data.table 示例都是可以接受的。

标签: rdataframearray-merge

解决方案


我不知道你是否想要join他们。我认为,对于相同的列,您可能需要附加它们:

library(tidyverse)

A %>%
bind_rows(B) %>%
group_by(id) %>%
summarise(cancer = max(cancer, na.rm = T),
          hiv = max(cancer, na.rm = T) %>%
ungroup()

推荐阅读