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

R语言:统一ID格式(替换LNZ_为LNZ.)并合并数据集ID列

统一ID格式并合并R数据集

方法一:Base R 实现

先统一两个数据集的ID格式,再执行合并操作:

# 将df_1中ID的下划线替换为点
df_1$ID_1 <- gsub("LNZ_", "LNZ.", df_1$ID_1)
# 将df_2中ID的下划线替换为点
df_2$ID_2 <- gsub("LNZ_", "LNZ.", df_2$ID_2)

# 按ID合并数据集(all=TRUE保留所有行,可按需改为all.x/all.y只保留单侧数据)
merged_df <- merge(df_1, df_2, by.x = "ID_1", by.y = "ID_2", all = TRUE)

方法二:Tidyverse 实现

借助dplyr和stringr包完成格式统一与合并:

library(dplyr)
library(stringr)

merged_df <- df_1 %>%
  # 统一df_1的ID格式
  mutate(ID_1 = str_replace(ID_1, "LNZ_", "LNZ.")) %>%
  # 统一df_2的ID格式后合并
  full_join(df_2 %>% mutate(ID_2 = str_replace(ID_2, "LNZ_", "LNZ.")),
            by = c("ID_1" = "ID_2"))

补充说明

  • gsub()(Base R)和str_replace()(tidyverse)均能精准匹配LNZ_格式的ID并替换为LNZ.,确保两个数据集的ID编码完全一致,避免合并时出现匹配失败。
  • 若仅需保留两个数据集共有的ID,可将合并逻辑改为merge(..., all=FALSE)或inner_join()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:30:21