Rbind:在新的组合数据集中添加源名称作为列和/或变量

问题描述 投票:0回答:1

我正在使用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
r plyr rbind
1个回答
2
投票

如果只想要几行数据帧进行行绑定,只需自己添加源:

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)))
© www.soinside.com 2019 - 2024. All rights reserved.