使用rbind组合数据帧+添加单独的列,其中包括各个数据帧的名称

问题描述

关于rbind的一个问题。

运行 df_all <- rbind(df_1,df_2 ...)组合多个数据框时,我想知道是否有可能在单独的列中添加一个列,其中包含每个观察值所源自的各个数据框的名称

非常感谢, 梅尔文

解决方法

尝试这种方法:

library(dplyr)
new_df <- bind_rows(lst(df_1,df_2),.id = 'id')

类似地,如果有很多这样的数据帧,则不需要一一写入。使用paste0创建一个字符串向量,然后使用mget + bind_rows

new_df <- bind_rows(mget(paste0('df_',1:2)),.id = 'id')

您可以将2更改为全局环境中任意数量的数据帧。