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

R语言中合并不同行数data frame并按匹配列重复填充对应值

你需要的合并逻辑属于左连接,以行数更多的df1为基础表,按三个公共列id、num、age匹配df2的对应字段,匹配到的a、b列会自动按df1的重复行重复填充,符合你的预期输出,两种实现方式如下:

基础R实现

result <- merge(df1, df2, by = c("id", "num", "age"), all.x = TRUE)

参数说明:

  • by:指定两个表匹配的公共列
  • all.x = TRUE:保留第一个表(df1)的所有行,不会因为df2行数少丢失df1的记录

dplyr实现(tidyverse生态常用)

library(dplyr)
result <- left_join(df1, df2, by = c("id", "num", "age"))

两种方式输出的结果和你给出的预期完全一致,直接打印即可查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:06:06