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

无法基于行名合并两个数据集,请求技术协助

解决数据集合并报错的问题

先点明你踩的两个关键坑:

  • 把第一个数据集命名成list了,这是R的内置关键字/函数名,R会优先把它识别成内置函数,而非你定义的数据集,这是报错的核心原因。
  • merge的参数写错了,正确的行名匹配参数是by="row.names"(注意中间的点),不是by="rownames"。

给你两种实用的解决方法:

方法一:改名后用merge正确合并

先给第一个数据集改个合法名字(比如df_list),再用正确的参数执行合并:

# 给数据集改名,避开内置关键字
df_list <- list
# 按行名合并,all=TRUE确保所有观测都保留
merged_data <- merge(df_list, df, by = "row.names", all = TRUE)
# 可选:还原行名并删除自动生成的Row.names列
rownames(merged_data) <- merged_data$Row.names
merged_data$Row.names <- NULL

方法二:直接用cbind(更简便)

因为两个数据集行数相同、行名完全一致,直接按列绑定就能完成合并,比merge更省事:

# 先给数据集改名
df_list <- list
# 自动按行名对齐并合并列
merged_data <- cbind(df_list, df)

如果用cbind后发现行不对齐,说明两个数据集的行名存在不一致(比如大小写、空格、缺失),可以先检查行名匹配情况:

# 验证行名是否完全一致
all(rownames(df_list) == rownames(df))

若返回FALSE,需要先统一行名格式(比如转小写、去除空格)后再合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:27:45