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

在R中基于ID仅合并满足var1=1条件的数据框行

仅当特定列满足条件时合并R数据框

方法1:基础R实现

先通过merge()做左连接保留df1的所有行,再根据var1的条件修改var2的值:

# 执行左连接
df_merged <- merge(df1, df2, by = "id", all.x = TRUE)
# 将var1不等于1的行的var2设为NA
df_merged$var2[df_merged$var1 != 1] <- NA

# 查看结果
df_merged

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

借助dplyr的管道语法和条件赋值,一步完成:

library(dplyr)

df3 <- df1 %>%
  left_join(df2, by = "id") %>%
  mutate(var2 = ifelse(var1 == 1, var2, NA))

# 查看结果
df3

两种方法最终都会生成你需要的结果:仅var1=1的行匹配df2的var2值,其余行var2为NA。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:28:01