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

合并数据集后出现两个year列,如何保留单个列用于线性回归?

解决数据集合并后重复year列的问题

核心问题原因

你之前用列索引(by=1、by=c(1,2))指定合并键,若第一/前两列不是year,两个数据集的year列就会被单独保留,导致重复。正确做法是直接指定year作为合并键。

解决方案

方法1:Base R的merge函数

直接指定by="year",合并后自动保留唯一的year列:

# 仅按year合并
fichierfinal <- merge(idelong, euexit, by = "year")

# 如果两个数据集的year列名不同(比如一个叫year,一个叫year_x)
fichierfinal <- merge(idelong, euexit, by.x = "year", by.y = "year_x")

方法2:dplyr的join函数(tidyverse风格)

使用right_join时明确指定by="year",避免按列索引匹配错误:

library(dplyr)
# 按year右连接,保留唯一year列
datamerge <- idelong %>% right_join(euexit, by = "year")

# 列名不同时的写法
datamerge <- idelong %>% right_join(euexit, by = c("year" = "year_x"))

补救方案:如果已经合并出重复列(如year.x和year.y)

如果已经得到带重复year列的数据集,可以直接清理:

# 保留year.x并重命名为year,删除year.y
datamerge <- datamerge %>% 
  select(-year.y) %>% 
  rename(year = year.x)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:34:56