Rbind:将源名称添加为新组合数据集中的列 and/or 变量

Rbind: Add name of source as column and/or variable in the new combined dataset

我正在使用 Rbind 将多个数据集合并到一个大数据框中。

为了将来参考,我希望能够查看某行来自哪个数据集。

有没有不使用 ID 或其他 'hacks' 的简单方法来做到这一点?

源文件示例:

Sales_East <- (read.csv('salesEast.csv')
Sales_West<- (read.csv('salesWest.csv')
Dataset <- rbind.fill(Sales_East,Sales_West)

生成的数据集:

ID Order Amount 
1  2     10
2  1     5
A  4     20
B  2     10

但我正在寻找更像这样的东西:

ID Order Amount Source 
1  2     10     East
2  1     5      East
A  4     20     West
B  2     10     West

如果您只想行绑定几个数据框,只需自己添加源即可:

Sales_East <- read.csv('salesEast.csv')
Sales_East$Source <- "East"

Sales_West <- read.csv('salesWest.csv')
Sales_West$Source <- "West"

Dataset <- rbind.fill(Sales_East, Sales_West)

如果你有一大堆数据框,你需要通过自己编写或使用 ls() 在字符向量中获取它们的名称。但是一旦你拥有它,你就可以这样做:

dfnames <- c("Sales_East", "Sales_West")
do.call(rbind, lapply(dfnames, function(x) cbind(get(x), Source=x)))