在多个数据集中查找组合

Find combinations in multiple data sets

我目前正在处理一个项目,我有多个 CSV 文件需要通过匹配他们的客户 ID 来匹配人们参加的所有活动组合。他们参加过很多活动。我需要在用逗号分隔的新列中匹配的事件。有多个数据集需要比较。 excel 中的 Vlookup 由于数据量大而冻结。我怎样才能在 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

您的数据集结构相同,因此它们可以按行组合 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