Создать матрицу переходов для последующего события в R (подсчет соединений / переходов) в R - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть датафрейм студентов, назовем его StudentDF, как показано ниже.Он включает информацию о студентах с ID, semester, subject и их final_status.Я хочу посчитать количество переходов, происходящих от предмета к другому предмету в последующем семестре для каждого учащегося.

StudentDF<-data.frame(ID=c(1,1,1,2,2,2,2,2,2,3,3,4),Semester=c(1,2,3,1,1,2,2,3,3,1,2,1),Subject=c('Math01-pass','Math02-fail','Math02-Pass','Math01-fail','Phys01-fail','Math01-fail','Phys01-fail','Math01-Pass','Math02-fail','Math01-Pass','Math02-Pass','Math01-fail'),
Final_status=c('Graduate','Graduate','Graduate','Dropped-out','Dropped-out','Dropped-out','Dropped-out','Dropped-out','Dropped-out','Graduate','Graduate','Dropped-out'
))

StudentDF:
ID   Semester   Subject           Final_status
1      1         Math01-pass      Graduate
1      2         Math02-fail      Graduate
1      3         Math02-Pass      Graduate
2      1         Math01-fail      Dropped-out
2      1         Phys01-fail      Dropped-out
2      2         Math01-fail      Dropped-out
2      2         Phys01-fail      Dropped-out
2      3         Math01-Pass      Dropped-out
2      3         Math02-fail      Dropped-out
3      1         Math01-Pass      Graduate
3      2         Math02-Pass      Graduate
4      1         Math01-fail      Dropped-out

Давайте определим переход.переход указывает, что какой предмет следует за другим предметом в следующем семестре.Если семестр последний семестр (для каждого идентификатора), Final_status будет считаться последним переходом.

transtion_matrix должен отображать все возможные переходы между subject с.Freq столбец показывает количество (частоту) переходов.Например, учащиеся с ID с 1 и 2 взяли subject Math01-pass, а затем в следующем семестре изучили предмет Math02-fail.Следовательно, в этом переходе Freq будет равен 2, что говорит о том, что у нас есть 2 студента, у которых есть такой переход.

Transition_Matrix: (the result)

From               To              Freq
Math01-fail        Math01-fail     1
Math01-fail        Math01-pass     1
Math01-Pass        Math02-fail     2
Phys01-fail        Phys01-fail     1
Math01-fail        Dropped-out     2
Phys01-fail        Dropped-out     1
Math02-Pass        Graduate        2

Последний переход связывает последний семестр студентов с Final_status.Например, StudentDF$ID==2 в его последнем семестре заняло Phys01-Pass.Итак, у нас есть 1 переход Phys01-fail к Dropped-out.
Пожалуйста, помогите мне реализовать его в R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...