合并两个数据帧 - ID 并集,"ANY" 超过值

Merging two dataframes - union of IDs, "ANY" over values

我有两个 tables AB,下面是 3 columns/variables:

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

两个 table 可能有不同的 id 组,但它们有相同的 3 列。

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

  1. id:来自 AB(即联合)的整套唯一患者标识符
  2. cancer1 如果患者在 AB 中有 cancer=10 否则,包括丢失的情况。
  3. hiv:与 cancer 相同,除了 hiv

我不确定执行此操作的最佳方法是什么。 Base R、tidyverse 或 data.table 例子都是 acceptable.

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

library(tidyverse)

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