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

R语言如何按列名合并多数据框行并保留全部列

实现方法

你要的是跨数据框行绑定、自动对齐列名、保留所有列的效果,有两种常用实现方式:

方法1:使用dplyr包的bind_rows()(推荐,代码最简洁)

该函数会自动匹配所有数据框的列名,不存在的列自动填充NA,支持同时合并任意多个数据框:

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

# 直接合并两个数据框
result <- bind_rows(apple, orange)

# 若有多个数据框,放到列表里批量合并即可
# df_list <- list(apple, orange, df3, df4)
# result <- bind_rows(df_list)

运行后输出的结果和你给出的预期效果完全一致,显示为空白的位置实际是NA值,不影响后续数据处理。

方法2:基础R实现(无需安装额外包)

如果不想依赖第三方包,可以手动补全列后再用rbind合并:

# 提取所有数据框的全部列名
all_cols <- unique(c(names(apple), names(orange)))

# 给每个数据框补全缺失的列,缺失值设为NA
apple[setdiff(all_cols, names(apple))] <- NA
orange[setdiff(all_cols, names(orange))] <- NA

# 对齐列顺序后行绑定
result <- rbind(apple[, all_cols], orange[, all_cols])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:06:03