You need to enable JavaScript to run this app. 如何合并R数据框两列长度值并匹配对应study_id生成新表
优惠活动
大模型
产品
解决方案
定价
更多

如何合并R数据框两列长度值并匹配对应study_id生成新表

R 数据框合并通用解决方案

你可以通过「宽表转长表+多字段匹配关联」的逻辑实现需求,该方案适配大规模、多字段的复杂场景,代码如下:

首先加载依赖包:

library(tidyverse)

步骤1:将df1转为长格式,合并长度列

该步骤不需要硬编码长度列名,所有后缀为_length的列都会自动拆分,后续新增同类字段无需修改逻辑:

df1_long <- df1 %>%
  pivot_longer(
    cols = ends_with("_length"),
    names_to = "object",
    values_to = "length",
    names_pattern = "(.*)_length"
  )

步骤2:与df2关联匹配study_id

通过identifier1、identifier2、object三个唯一组合字段关联,自动匹配对应的study_id:

df3 <- df1_long %>%
  left_join(df2, by = c("identifier1", "identifier2", "object"))

如果需要调整列的展示顺序,比如将study_id放在首列,可以追加relocate逻辑:

df3 <- df3 %>%
  relocate(study_id, .before = everything())

方案通用性说明

  • 适配任意数量的*_length类型字段,新增物品类型不需要修改转换逻辑
  • 多键关联匹配精准,不会出现数据错配,适合百万级以上规模数据处理
  • 会自动保留df1、df2中除关联键外的其他自定义字段,无需额外配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 16:18:04