Rbind: добавить имя источника в виде столбца и / или переменной в новый объединенный набор данных - PullRequest
0 голосов
/ 30 августа 2018

Я использую Rbind для объединения нескольких наборов данных в один большой массив данных.

Для дальнейшего использования я хочу видеть, из какого набора данных происходит строка.

Есть ли простой способ сделать это без использования идентификаторов или других «хаков»?

Пример исходных файлов:

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

1 Ответ

0 голосов
/ 30 августа 2018

Если вы хотите связать строку только с несколькими кадрами данных, просто добавьте источник самостоятельно:

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)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...