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

combining dataframes using rbind + adding a separate column that includes the names of the individual dataframes

只是一个关于 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 更改为您在全球环境中拥有的任意数量的数据帧。