我需要通过匹配来自Studentdata和Tutordata的科目和董事会来获取老师的姓名。码 -
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'))
但是,您的数据似乎没有任何匹配项。
对于模糊的信息表示抱歉。我现在已经编辑了问题。问题在于导师板是一个因素,我现在不知道要解析数据。我已经在下面附加了输出和输入的图像。对不起,R编程新手
没有。即使有匹配项也不匹配。尽管有比赛,但学生rehana的家教却得不到NA。如何解析一个因素?
@KikuSekar可以尝试更新的代码吗?
它的工作正常。非常感谢