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

如何使用bind_rows()合并表格时忽略列名?

使用bind_rows()实现忽略列名的Union合并(单列输出)

要解决这个问题,核心思路是先统一两个数据框的列名,再用bind_rows()合并——因为bind_rows()默认是按列名匹配的,列名不同就会生成多列,统一列名后就能合并成单列啦。下面给你两种实用的方法:

方法一:手动重命名列后合并

如果你的数据框都是单列,直接给它们改成相同的列名再合并就行:

library(dplyr)

# 定义示例数据框
df1 <- data.frame(x = 1:3)
df2 <- data.frame(y = 1:4)

# 重命名列并合并
result <- bind_rows(
  rename(df1, value = x),  # 把df1的x列改名为value
  rename(df2, value = y)   # 把df2的y列改名为value
)

print(result)

输出结果:

value
1     1
2     2
3     3
4     1
5     2
6     3
7     4

方法二:自动统一列名(适合列名不确定的场景)

如果你的数据框列名不固定(比如不知道是x还是y),可以用rename_with()把所有列统一改成同一个名字:

library(dplyr)

result <- bind_rows(
  rename_with(df1, ~ "value"),  # 把df1的所有列改名为value
  rename_with(df2, ~ "value")   # 把df2的所有列改名为value
)

print(result)

这个方法更灵活,哪怕数据框列名多变,只要每个数据框只有一列,就能顺利合并成单列。

补充:更简洁的替代方案

如果你不一定非要用bind_rows(),直接提取向量再组合成数据框会更简单:

result <- data.frame(value = c(pull(df1), pull(df2)))

同样能得到你想要的单列输出~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:48:38