You need to enable JavaScript to run this app. R语言按两列匹配将另一数据框对应值填入目标数据框
优惠活动
大模型
产品
解决方案
定价
更多

R语言按两列匹配将另一数据框对应值填入目标数据框

方法1:纯base R用match()实现(无依赖,代码极简)

直接将两个匹配键(姓名+年份)拼接为单一字符串作为匹配依据,一行代码完成赋值:

df1$status <- df2$status[match(paste(df1$names, df1$year), paste(df2$names, df2$year))]

运行后输出df1即可得到你需要的结果。

方法2:用dplyr包的left_join()实现(可读性更高,适合多匹配键场景)

如果日常已经在使用tidyverse生态,这种方法逻辑更清晰,不容易出现匹配错误:

library(dplyr)
df1 <- left_join(df1[,c("names", "year")], df2, by = c("names", "year"))

两种方法运行后得到的df1都和你给出的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 18:42:04