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

R语言合并DataFrames异常:俱乐部重复且薪资数据仅显示首个值

解决DataFrame按顺序合并的问题

问题原因

你之前用merge()或rbind()是用错了方法:

  • merge()是基于列值匹配合并,不是按行顺序,若两表无同名匹配列,会生成笛卡尔积导致重复行,且无法对应顺序输出薪资;
  • rbind()是行拼接,把两个表上下堆叠,完全不符合你左右合并俱乐部和薪资的需求。

正确解决方案

因为你明确两表记录顺序完全匹配,直接用列合并即可,步骤如下:

  1. 先验证两表行数一致(确保顺序匹配的前提):
nrow(clubs_df) == nrow(DF_TEAMS_TOTAL_SALARY_2017)

返回TRUE才能继续。

  1. 给两表重命名列(避免默认的V1这类无意义列名):
colnames(clubs_df) <- "club_name"
colnames(DF_TEAMS_TOTAL_SALARY_2017) <- "total_salary_2017"
  1. 按顺序列合并:

方法一:用cbind()直接合并

combined_df <- cbind(clubs_df, DF_TEAMS_TOTAL_SALARY_2017)

方法二:直接给俱乐部表添加薪资列(更简洁)

clubs_df$total_salary_2017 <- DF_TEAMS_TOTAL_SALARY_2017$total_salary_2017
# 或者如果薪资表只有一列,用索引:
# clubs_df$total_salary_2017 <- DF_TEAMS_TOTAL_SALARY_2017[,1]

验证结果

合并后可以查看结果:

head(combined_df)

内容的提问来源于stack exchange,提问作者Daniel Isaac Chavez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:47:17