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

R语言依据两数据框公共列a的匹配值将frame2的e列合并到frame1

R数据框按a列匹配合并e列的实现方案

已知frame2中相同a值对应的e值完全一致,因此仅需先对frame2的a、e列去重后,再和frame1按a列关联即可,以下是两种常用实现方案:

方案1:基础R实现

使用基础R自带的merge函数完成匹配,代码如下:

# 先对frame2的a、e列去重,去除重复的a值行
frame2_unique <- unique(frame2[, c("a", "e")])
# 按a列左连接,保留frame1的所有行
result <- merge(frame1, frame2_unique, by = "a", all.x = TRUE)

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

使用dplyr的distinct去重+left_join左连接完成操作,代码如下:

# 加载dplyr包
library(dplyr)

# 链式操作完成去重、匹配合并
result <- frame1 %>% 
  left_join(distinct(frame2, a, e), by = "a")

两种方案输出的result均和预期结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 06:36:03