I have created a logistic regression model and a corresponding ROC using pROC. I got the threshold for the "best" value that maximizes sensitivity and specificity. The predictor is a score that goes from 4 to 13 points. The predicted variable is survival. I need to know which value in my score (from 4 to 13) is represented by the threshold value (e.g. 0.043). Will appreaciate your help.
Code looks like this>
#MULTIVARIATE ANALYSIS
summary(glm((VIVO_AL_ALTA==0)~ CALCULADORA_CALL_SCORE +
SOPORTE_VENT_AL_INGRESO + ETE_DURANTE_HOSP +
SOBREINFECC_BACT_DURANTE_HOSP + COP_DURANTE_HOSP + TOCILIZUMAB +
CORTICOIDES_HOSP, family = binomial, data = work_data))
exp(coef(glm((VIVO_AL_ALTA==0)~ CALCULADORA_CALL_SCORE +
SOPORTE_VENT_AL_INGRESO + ETE_DURANTE_HOSP +
SOBREINFECC_BACT_DURANTE_HOSP + COP_DURANTE_HOSP + TOCILIZUMAB +
CORTICOIDES_HOSP , family = binomial, data = work_data)))
exp(confint.default(glm((VIVO_AL_ALTA==0) ~
CALCULADORA_CALL_SCORE + SOPORTE_VENT_AL_INGRESO +
ETE_DURANTE_HOSP + SOBREINFECC_BACT_DURANTE_HOSP +
COP_DURANTE_HOSP + TOCILIZUMAB + CORTICOIDES_HOSP , family=
binomial, data= work_data), level = .95))
mod_vivo_alta_multi<-glm((VIVO_AL_ALTA==0)~
CALCULADORA_CALL_SCORE + SOPORTE_VENT_AL_INGRESO +
ETE_DURANTE_HOSP + SOBREINFECC_BACT_DURANTE_HOSP +
COP_DURANTE_HOSP + TOCILIZUMAB + CORTICOIDES_HOSP, family =
binomial, data = work_data, na.action = "na.exclude")
#ROC Curves
library(pROC)
#ROC VIVO ALTA MULTI
work_data$pred_vivo_alta_multi<-predict(mod_vivo_alta_multi, type
= "response", na.action = "na.omit")
pROC_obj_pred_vivo_alta_multi <-
roc((work_data$VIVO_AL_ALTA==0),work_data$pred_vivo_alta_multi,
smoothed = TRUE, direction="<",
# arguments for ci
ci=TRUE, ci.alpha=0.95,
stratified=FALSE,
# arguments for plot
plot=TRUE, auc.polygon=F,
max.auc.polygon=TRUE, grid=TRUE,
print.thres=T,
print.auc=TRUE, show.thres=TRUE)
coords(pROC_obj_pred_vivo_alta_multi,x= "best",
input="threshold", ret=c("threshold", "specificity",
"sensitivity", "npv", "ppv","youden"), as.list=FALSE, drop=TRUE,
best.method=c("youden"), best.weights=c(1, 0.5), transpose =
FALSE, as.matrix=FALSE)
Sorry for some of the variables are in Spanish. Basically, these are my variables for the model: CALCULADORA_CALL_SCORE + SOPORTE_VENT_AL_INGRESO + ETE_DURANTE_HOSP + SOBREINFECC_BACT_DURANTE_HOSP + COP_DURANTE_HOSP + TOCILIZUMAB + CORTICOIDES_HOSP
And my predicted variable is VIVO_AL_ALTA