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

如何合并R中三个data.frame并将原对象名称设为第一列?

这里有两种简单的方法可以实现你的需求,核心思路是先给每个数据框添加标识其来源的列,再将它们行合并:

方法一:Base R 原生实现

先手动为每个data.frame添加来源名称列,再用rbind()合并,最后调整列顺序把来源列放到第一位置:

# 为每个数据框添加来源标识列
V$source <- "V"
PC$source <- "PC"
IF$source <- "IF"

# 合并三个数据框
combined_df <- rbind(V, PC, IF)

# 将source列移至第一列
combined_df <- combined_df[, c("source", setdiff(colnames(combined_df), "source"))]

方法二:使用 tidyverse 工具(更简洁)

借助dplyr的bind_rows()和tibble的lst(),可以一步完成收集和合并,自动保留原对象名称:

library(dplyr)

# lst()会以对象名作为列表元素的名称,bind_rows的.id参数将其转为source列
combined_df <- bind_rows(lst(V, PC, IF), .id = "source")

运行上述代码后,combined_df的第一列就是source,对应原对象的名称V、PC、IF,后续列则是原数据框的所有统计量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:02:48