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

R语言:满足文本匹配条件时合并两个行数不同的数据框

R数据框按id匹配合并实现方案

核心逻辑是基于df1做左连接,保留df1所有行,按id字段匹配df2的对应值,未匹配行自动填充NA。

注意:你给出的df2代码定义和打印输出不一致,以下实现基于你的预期输出逻辑,即df2中不存在id2 = 1text的行。

方法1:基础R实现

# 左连接两个数据框
df_merged <- merge(x = df1, y = df2, by.x = "id1", by.y = "id2", all.x = TRUE)
# 重命名列名得到最终df1
df1 <- setNames(df_merged, c("id1", "area1"))

方法2:dplyr包实现(更简洁)

library(dplyr)
df1 <- df1 %>%
  # 按指定字段左连接df2
  left_join(df2, by = c("id1" = "id2")) %>%
  # 重命名area2为area1
  rename(area1 = area2)

运行上述任意一种方法后,得到的df1即为你需要的结果:

id1 area1
1 1text    NA
2 2text    11
3 3text    22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:57:03