在R中如何合并基线与随访数据集并处理失访个体?
使用dplyr合并基线与随访数据集(保留所有基线个体)
首先确保你已经安装并加载了dplyr包:
# 安装(如果没装过) install.packages("dplyr") # 加载包 library(dplyr)
你的需求正好对应dplyr里的left_join()函数——它会保留左表(这里就是你的基线数据集)的所有行,然后按指定的ID列匹配右表(随访数据集)的记录,匹配不上的行(也就是失访个体),随访相关的列会自动填充NA,完全符合你的要求。
示例操作步骤
假设你的基线数据集叫baseline_data,随访数据集叫follow_up_data,两者都有唯一标识列ID:
# 执行左连接合并 merged_data <- baseline_data %>% left_join(follow_up_data, by = "ID")
关键说明
left_join()的第一个参数是左表(基线数据),第二个是右表(随访数据),by = "ID"指定用ID列做匹配依据。- 如果两个数据集里的ID列名字不一样(比如基线叫
subject_id,随访叫id),可以写成by = c("subject_id" = "id")来对应列名。
验证结果
可以用下面的代码检查失访个体的情况(也就是随访列全为NA的行):
# 筛选失访个体 lost_to_follow_up <- merged_data %>% filter(is.na(某随访列名)) # 把"某随访列名"换成你实际的随访列,比如follow_up_status # 查看失访人数 nrow(lost_to_follow_up)
这样就能得到合并后的数据集,既保留了所有基线个体,又自动给失访个体的随访列填充了NA。
内容的提问来源于stack exchange,提问作者awastus
相关产品推荐
相关产品推荐

