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

合并数据框:将含部分观测多变量的df2并入全观测的df1

解决方法

首先要注意:两个表的id类型不一致——df1的id是整数型,df2的id是字符型,直接合并会导致匹配失败,所以第一步必须统一类型,再执行左连接合并来保留df1的所有观测。

步骤1:统一id数据类型

把df2的id转换为整数型,和df1保持一致:

df2[, id := as.integer(id)]

步骤2:执行左连接合并

使用data.table的merge函数,通过all.x = TRUE参数保留df1的所有行,匹配到的行填充df2的变量值,未匹配的自动填充NA:

merged_df <- merge(df1, df2, by = "id", all.x = TRUE)

结果说明

合并后的merged_df会包含df1中100到120的所有id,其中id为100、105、115、120的行有对应的x、y、z数值,其余行的这三个变量均为NA。

内容的提问来源于stack exchange,提问作者Artūrs Katamadze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:41:06