d1=data.frame("Student"=c(1,1,1,2,2,2,3,3,4,4,4),
"Score"=c(1,1,1,1,2,2,1,3,1,2,3),
"Grade"=c(5,6,7,3,4,5,2,4,7,8,9),
"Class"=c(1,1,1,1,1,1,2,2,1,1,1),
"School"=c(100,100,100,100,100,100,92,92,81,81,81))
d2=data.frame("Student"=c(1,2,3,4,5),
"Q1"=c(0,1,0,1),
"VX"=c(0,0,1,1),
"A"=c(5,3,2,7),
"B"=c(7,3,4,7),
"C"=c(7,4,4,8),
"D"=c(7,5,4,9),
"Class"=c(1,1,2,1),
"School"=c(100,100,92,81))
У меня есть данные 'd1' и я хочу данные 'd2' с правилами:
Студент: Just Student from d1
Q1: если оценка из d1 когда-либо равнялась 2 для ученика из d1, это равняется 1. Если нет, это равно 0.
VX: если оценка из d1 когда-либо равнялась 3 для ученика из d1, это равняется 1. Если нет, это равно 0.
A: соответствует первой / минимальной оценке от d1 для студента
B: если оценка от d1 равняется 2, тогда ставьте оценку ТОЛЬКО ДО того, как это произошло. Если нет, то поставьте последнюю / максимальную оценку. Важно отметить, что первая оценка не может быть равна 2, поэтому не стоит беспокоиться о пропущенных данных.
C: если оценка от d1 равна 2, тогда ставьте оценку, когда это произошло. Если нет, то поставьте последнюю / максимальную оценку
D: если оценка от d1 равнялась 3, тогда ставьте оценку, когда это произошло. Если нет, то поставьте последнюю / максимальную оценку
Класс: Просто класс из d1
Школа: Just the School from d1