【问题标题】:In R, how can I merge two datasets (one baseline and one follow-up) while taking into account individuals lost to follow-up?在 R 中,如何合并两个数据集(一个基线和一个后续数据集),同时考虑到失访的个人?
【发布时间】:2022-12-09 01:07:33
【问题描述】:

预先感谢您的帮助。

我有大约 30000 个人的基线数据集。每个人都有一个唯一的身份证号码。我还有一个包含同一个人的后续数据集,可能有 2000 人失访。 我正在尝试合并这些数据集,为每个 ID 号匹配来自两个数据集的数据。对于失访的个人,我想将他们保留在合并数据集中,但他们的行可能需要包含一堆 NA,因为无法在后续数据集中衡量结果。

R中有没有办法解决这个问题?

(作为一个相对较新的 R 用户,我真的不知道如何开始解决这个问题。我觉得我需要使用 dplyr,但是根据他们的 ID 从两个数据集中匹配个人并为那些失去后续行动超出了我的范围。任何帮助或提示将不胜感激。)

【问题讨论】:

    标签: r database dplyr data-manipulation


    【解决方案1】:

    您可以将 mergeall.x 命令一起使用 - 先放置基线数据,然后再放置后续数据。例如,假设您的基线数据是bl,后续数据是fu

    bl <- data.frame(id = 1:20,
                    var_bl = letters[1:20])
    
    fu = data.frame(id = 1:15,
                   var_fu = letters[1:15])
    
    all <- merge(bl, fu, by = "id", all.x = TRUE)
    

    输出:

       id var_bl var_fu
    1   1      a      a
    2   2      b      b
    3   3      c      c
    4   4      d      d
    5   5      e      e
    6   6      f      f
    7   7      g      g
    8   8      h      h
    9   9      i      i
    10 10      j      j
    11 11      k      k
    12 12      l      l
    13 13      m      m
    14 14      n      n
    15 15      o      o
    16 16      p   <NA>
    17 17      q   <NA>
    18 18      r   <NA>
    19 19      s   <NA>
    20 20      t   <NA>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 2022-12-12
      • 1970-01-01
      • 2013-11-13
      相关资源
      最近更新 更多