我需要通过匹配来自Studentdata和Tutordata的科目和董事会来获取教师姓名。代码-
Studentdata$Tutor.name <- Tutordata[cbind(
match(Studentdata$Subject, Tutordata$TSubject),
match(Studentdata$Board, colnames(Tutordata))
)]
Tutordata
Tname TSubject TBoard
A Physics IB, IGCSE
B Physics CBSE,JEE mains
C Math JEE mains
D Math IGCSE
E Physics ICSE
StudentData
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'))
但是,您的数据似乎没有任何匹配项。