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

如何在R语言中从另一个数据框创建新列?附示例

解决方案:匹配多键提取值并计算差值

核心思路

通过多字段关联(indcode、area、ownership),从First数据框中匹配对应组合的d2022值作为Adjustment列,再计算second$d2022与Adjustment的差值。

代码实现(使用dplyr包)

# 加载dplyr包(未安装先执行 install.packages("dplyr"))
library(dplyr)

# 关联数据并新增计算列
second <- second %>%
  # 从First中提取目标字段并重命名后关联到second
  left_join(First %>% select(indcode, area, ownership, Adjustment = d2022),
            by = c("indcode", "area", "ownership")) %>%
  # 计算差值列,可自定义列名(示例用d2022_diff)
  mutate(d2022_diff = d2022 - Adjustment)

期望结果首行示例

indcodeareaownershipd2020d2021d2022Adjustmentd2022_diff
0101北京国有951101451387

注:Adjustment值完全匹配First中相同indcode+area+ownership组合的d2022,d2022_diff为两行d2022的差值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:19:54