我正在使用Rbind将多个数据集组合成一个大数据帧。
为了将来参考,我希望能够看到一行来自哪个数据集。
没有使用ID或其他“黑客”,有没有一种简单的方法可以做到这一点?
源文件示例:
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)))