You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中对齐多Excel工作表数据框的方法咨询

用R实现Excel工作表基于患者编号对齐的方法

可以用R的readxl、dplyr(或base R)快速完成这个需求,核心是用左连接保留所有患者记录,无匹配数据的位置自动留空(NA),具体步骤如下:

1. 安装并加载所需包

# 首次使用时安装包
install.packages(c("readxl", "dplyr", "openxlsx"))
# 加载包
library(readxl)
library(dplyr)
library(openxlsx)

2. 读取Excel中的两个工作表

# 替换成你的Excel文件实际路径
file_path <- "你的患者数据.xlsx"
# 读取包含所有患者年龄的工作表(假设是第1个工作表)
df_age <- read_excel(file_path, sheet = 1)
# 读取仅包含部分患者性别的工作表(假设是第2个工作表)
df_gender <- read_excel(file_path, sheet = 2)

3. 基于患者编号对齐合并数据

方法一:用dplyr的left_join(语法更直观)

# 以PATIENT NUMBER为匹配键,保留df_age的所有患者记录
merged_data <- df_age %>%
  left_join(df_gender, by = "PATIENT NUMBER")

方法二:用base R的merge函数

# all.x = TRUE 表示保留左侧数据框(df_age)的所有行
merged_data <- merge(df_age, df_gender, by = "PATIENT NUMBER", all.x = TRUE)

4. 导出对齐后的结果到Excel

write.xlsx(merged_data, "对齐后的患者数据.xlsx")

说明:合并后,没有性别数据的患者,性别列会显示NA,导出到Excel后会自动变成空单元格,完全符合需求。

内容的提问来源于stack exchange,提问作者user19745561

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:27:10