2016-12-03 3 views
0

До сих пор я достиг, чтобы соответствовать модели в функции survreg, как показано ниже:Эффект предсказания участок в R

model <- survreg(formula = Surv(TimeDeath, event) ~ age + BM1 + BM2 + 
         mutation + sex + BM1:BM2 + BM1:mutation, 
         data = DF, dist = "lognormal") 

Теперь мне нужно, чтобы предсказать время отказа от пациента мужского пола, который 51 лет, он не имел мутации гена, а для BM1 он имел значение 3,7 мг/дл и для BM2 - значение 251 мг/дл.

Я продолжал, как показано ниже:

ND <- with(DF, data.frame(
    age = rep(seq(min(age), max(age), length.out = 20), 2), 
    BM1 = rep(seq(min(BM1), max(BM1), length.out = 20), 2), 
    BM2 = rep(seq(min(BM2), max(BM2), length.out = 20), 2), 
    mutation = c("No", "Yes"), 
    sex = c("male", "40") 
)) 

prs <- predict(model_final, ND, se.fit = TRUE, type = "lp") 
ND$pred <- prs[[1]] 
ND$se <- prs[[2]] 
ND$lo <- exp(ND$pred - 1.96 * ND$se) 
ND$up <- exp(ND$pred + 1.96 * ND$se) 
ND$pred <- exp(ND$pred) 

library(lattice) 
xyplot(pred + lo + up ~ age + BM1, data = ND, type = "l", 
     lty = c(1,2,2), col = "black", lwd = 4, xlab = "Age", 
     ylab = "Survival Time") 

Я знаю, что я не определили объект ND правильно, но я не знаю, как это сделать, а также функцию участка.

Помогите пожалуйста?

+0

Как вы знаете, что вы не правильно построили ND (по крайней мере, до того, как создать «пред» столбец? (Мы не можем ничего делать без набора данных для создания модели.) Конструкция CI выглядит подозрительно, я бы подумал, что вы вместо этого установили 'se.fit = TRUE' –

ответ

0

Посмотрите на ?predict.survreg. Конструкция Конфигурационными выглядит подозрительным, я бы подумал, что вы бы вместо этого установить se.fit=TRUE Существует новый аргумент данных, который является, где включены параметры, необходимые для прогнозирования в рамках NewData аргумента:

all.combos < expand.grid(mutation=c("No", "Yes"), BM1= 3.7 , BM2= 251 , 
          sex = c("male", "40"), 
          age-seq(min(age), max(age), length.out = 20) ) ) 
    preds.combos <- predict(model, all.combos, se.fit=TRUE) 
Смежные вопросы