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

R语言中如何基于match_col列将DF2的值映射填充到DF1?

在R中基于匹配列映射填充DataFrame的值

你可以用以下两种常见方法实现需求:

方法一:基础R的merge()函数

直接使用merge()函数,按match_col列进行匹配,会自动将DF2的value对应填充到DF1的每一行:

DF1 <- data.frame(match_col = c("apple", "apple", "apple", "banana", "banana","orange"))
DF2 <- data.frame(match_col = c("apple", "banana", "orange"), value = c(13,4,8))

result <- merge(DF1, DF2, by = "match_col")
print(result)

输出结果:

match_col value
1     apple    13
2     apple    13
3     apple    13
4    banana     4
5    banana     4
6    orange     8

方法二:tidyverse的dplyr::left_join()

如果你习惯用tidyverse生态,left_join()更直观,能保留DF1的所有行并匹配对应值:

library(dplyr)

result <- left_join(DF1, DF2, by = "match_col")
print(result)

运行后得到的结果和上面一致,符合你期望的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:15:38