Анализ выживания, чтобы получить показатели DROP OUT - PullRequest
0 голосов
/ 16 сентября 2018

Чао, у меня есть данные о отсеве учащихся, и я намерен провести анализ выживаемости, который, как мне кажется, я изучу или предскажу вероятность отсева из данного класса. Проблема, однако, заключается в том, что я хочу сгруппировать оценки вместе, например (7,8) (9,10) (11,12)

Вот мой реплицирующий пример. Вот данные, которые у меня сейчас есть:

data <- data.frame(STUDENT=c(1,1,1,1,2,2,2,2,3,3,3,3),
                  GRADE=c(9,10,11,12,7,8,9,10,9,10,11,12),
                  DROPOUT=c(0,0,0,0,0,0,1,1,0,0,0,1))

Я сделал данные высокими, поэтому, например, СТУДЕНТ = 1 никогда не выпадал, а СТУДЕНТ = 2 выпадал в 9-м классе, а СТУДЕНТ = 3 выпадал в 12-м классе.

Теперь вот мой основной аналитический подход к выживанию

attach(data)
survivalmodel <- Surv(time=GRADE,event=DROPOUT)

Мне нужно время2 =? Не могли бы вы сказать, насколько важно иметь это и как это возможно измерить? Я самоучка и все еще читаю.

Таким образом, мой вопрос заключается в том, как получить вероятности отсева для групп GRADE (7,8) (9,10) (11,12), чтобы в конечном итоге получить вероятность отсева учащихся в GRADES 7 и 8 отдельно для GRADES 9 и 10 отдельно для 11-го и 12-го классов.

1 Ответ

0 голосов
/ 20 сентября 2018

time (то, что вы называете time1) должно быть первым наблюдаемым оценочным баллом. (Я предполагаю, что для любой данной школы будут поступать новые ученики.) time2 должен быть либо класс, в котором происходит отсев, либо 12. Событие должно быть таким, как у вас, за исключением того, что у вас не должно быть дубликатов. Строка 8 должна быть удалена. Вы должны создать новый фрейм данных, который имеет 4 столбца и три строки (по одной на каждого учащегося).

sdat <- read.table(text="STUDENT start GRADE DROPOUT
1 9 12 0
2 7 9 1
3 9 12 1", header=TRUE)
sdat
# NEVER use attach, but especially never with survival pkg functions

coxph( Surv(time=start, time2=GRADE, event=DROPOUT)~. , data=sdat[-1])
Call:  coxph(formula = Surv(time = start, time2 = GRADE, event = DROPOUT) ~ 
    ., data = sdat[-1])

Null model
  log likelihood= -0.6931472 
  n= 3 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...