我如何匹配 R 中不同数据集的多列

how do i match multiple column from different dataset in R

我需要通过匹配学生数据和导师数据中的主题和板来获取教师姓名。 代码--

Studentdata$Tutor.name <- Tutordata[cbind(
  match(Studentdata$Subject, Tutordata$TSubject),
  match(Studentdata$Board, colnames(Tutordata))
)]

导师数据

Tname TSubject TBoard
A     Physics   IB, IGCSE
B     Physics   CBSE,JEE mains
C     Math      JEE mains
D     Math      IGCSE
E     Physics   ICSE

学生数据

StudentName Board   Subject
X          IB       Math
Arjun      IB       Physics 
Rehana     IGCSE    Physics 
Rashid     CBSE     Math    
Ashika     JEE mainsMath    
Aagya      ICSE     Math

所有变量都是上述数据集中的因素。

或许,您可以尝试将 TBoard 列拆分为单独的行,然后进行连接。

library(dplyr)

tidyr::separate_rows(Tutordata, TBoard, sep = ",") %>%
   mutate(TBoard = trimws(TBoard)) %>%
   right_join(StudentData, by = c('TBoard' = 'Board', 'TSubject' = 'Subject'))

但是,您的数据中似乎没有任何匹配项。