Найти комбинации в нескольких наборах данных - PullRequest
0 голосов
/ 07 октября 2018

В настоящее время я работаю над проектом, в котором у меня есть несколько CSV-файлов, которые должны соответствовать всем комбинациям событий, на которых присутствовали люди, в соответствии с их идентификатором клиента.Они были на нескольких мероприятиях.Мне нужно, чтобы события соответствовали новому столбцу, разделенному запятой.Существует несколько наборов данных, которые необходимо сравнить.Vlookup в Excel зависал из-за большого количества данных.Как я могу сделать это в R?Я уже установил Tidyverse.Есть предложения?

 List 1   (one CSV file)                          List 2 (second CSV file)
LastName FirstName     CustID  Event         LastName FirstName CustID Event 
Robson     Jonson       23019   NP5          Robson   Jonson    23019   GRT2 
Robson     Jonson       23019   RTE3

Result Needed
LastName  FirstName      CustID     Matched Events     
Rob       Jonson         23019      NPS, GRT2, RTE3

1 Ответ

0 голосов
/ 07 октября 2018

Ваши наборы данных имеют одинаковую структуру, поэтому их можно комбинировать по строкам с rbind:

lst1 <- read.table(header=TRUE, stringsAsFactors=FALSE, text='
LastName FirstName     CustID  Event
Robson     Jonson       23019   NP5 
Robson     Jonson       23019   RTE3')

lst2 <- read.table(header=TRUE, stringsAsFactors=FALSE, text='
LastName FirstName CustID Event 
Robson   Jonson    23019   GRT2')

lst <- rbind(lst1, lst2)

Тогда вам нужно объединение:

aggregate(lst$Event,
          list(LastName = lst$LastName, FirstName = lst$FirstName, CustID = lst$CustID),
          paste, collapse=", ")
#   LastName FirstName CustID               x
# 1   Robson    Jonson  23019 NP5, RTE3, GRT2
...