在R中整合Excel工作表病例ID匹配的人口统计与诊疗数据
用R整合Excel两个工作表的病例数据
核心思路
通过唯一病例ID作为匹配键,无视原始行顺序,将两个工作表的数据关联合并,实现一行展示患者完整信息。
具体实现步骤
安装并加载所需R包
需要readxl读取Excel文件,dplyr处理数据合并:# 首次运行时安装包 install.packages(c("readxl", "dplyr")) # 加载包 library(readxl) library(dplyr)读取两个目标工作表
替换文件路径和工作表名称为你的实际信息:# 读取人口统计信息表(示例工作表名为"人口统计") demo_data <- read_excel("你的Excel文件路径.xlsx", sheet = "人口统计") # 读取诊疗结果表(示例工作表名为"诊疗结果") outcome_data <- read_excel("你的Excel文件路径.xlsx", sheet = "诊疗结果")按病例ID合并数据
假设唯一病例ID的列名为case_id,根据需求选择合并方式:left_join: 保留人口统计表中所有病例(即使诊疗表无匹配数据,适合避免丢失病例)inner_join: 仅保留两个表都存在的病例(适合只需要完整诊疗记录的病例)
# 合并数据(替换case_id为你的实际ID列名) merged_data <- left_join(demo_data, outcome_data, by = "case_id") # 可选:查看合并后的前几行数据 head(merged_data)
关键注意事项
- 确保两个表的病例ID列类型完全一致(比如都是字符型或数值型),类型不匹配时可手动转换:
demo_data$case_id <- as.character(demo_data$case_id) - 不确定工作表名称时,用
excel_sheets("你的Excel文件路径.xlsx")查看所有工作表名称
内容的提问来源于stack exchange,提问作者Kendra
相关产品推荐
相关产品推荐

