La vídeo-colonoscopia (VCC) es el procedimiento de endoscopía
digestiva más frecuentemente realizado a nivel mundial. Una VCC está
indicada en el cribado de cáncer colorrectal (CCR), vigilancia de
distintas preexistencias, abordaje diagnóstico en pacientes sintomáticos
y con distintos fines terapéuticos.
La intubación cecal debe ser una meta durante el procedimiento. Sin
embargo, esta puede representar dificultad para el endoscopista,
recurriendo progresivamente a técnicas como compresión abdominal,
rotación postural, o cambio de endoscopista [4,5]. Esto puede aumentar
el tiempo de intubación cecal (>10 minutos) [6], uso de anestesia,
dolor abdominal post-VCC, e incluso lesiones inadvertidas [7].
Hasta momento no existe una definición estandarizada de dificultad
técnica de una VCC completa en términos de intubación cecal. Existen
escalas como la Difficult Colonoscopy Score (DCS), la cual considera los
factores pre-VCC edad, índice de masa corporal (IMC), calidad de sueño,
así como la experiencia del endoscopista [8]. No obstante, ninguna de
estas herramientas definen objetivamente la dificultad técnica de una
VCC.
El objetivo de este estudio es: describir la frecuencia de
técnicas adicionales para lograr la intubación cecal en una muestra
grande de pacientes argentinos atendidos en distintos centros, en
quienes se realizará VCC, a fin de desarrollar una nueva escala para
evaluar la dificultad técnica de la misma.
El presente es un estudio multicentrico observacional, analítico,
transversal, de recuperación prospectiva [9].
Se llevo a cabo en
pacientes referidos al servicio de Endoscopía del Hospital Nacional
Profesor Alejandro Posadas (HNPAP; El Palomar, provincia de Buenos
Aires, Argentina), del Instituto de Gastroenterología y Endoscopía de
Avanzada (IGEA; Bahía Blanca, provincia de Buenos Aires, Argentina) y
del Hospital Universitario Austral (HUA; El Pilar, provincia de Buenos
Aires, Argentina), desde julio a diciembre del 2022.
Se
incluyeron pacientes de ambos géneros, mayores de 18 años, con
indicación de VCC debido a cribado de CCR, vigilancia de distintas
preexistencias, abordaje diagnóstico en pacientes sintomáticos. En
aquellos pacientes referidos para VCC con fines terapéuticos, fueron
incluidos siempre y cuando haya la indicación clínica de realizar una
VCC completa.
Criterios de exclusión: no se incluyeron aquellos
pacientes en quienes se haya realizado una VCC previa en el mismo centro
participante en los últimos tres meses; Boston Bowel Preparation Score
(BBPS) ≤1 en cualquier segmento colónico (colon ascendente, transverso
y/o descendente); cualquier situación que justifique no realizar VCC
completa(estenosis colorrectal, diverticulitis, indicación de RSC para
valorar CU), o inestabilidad hemodinámica de cualquier tipo,
coagulopatia no controlada o fallo renal o hepatico.
Un grupo de
gastroenterologos expertos desarrollo la escala denominada
“Argentina Brief Colonoscopy Difficulty”, abreviado como ABCD.
Esta cuenta con cuatro dimensiones:
Todos los pacientes se re alizaron una VCC en manos de
endoscopistas previamente entrenados, la preparación intestinal se llevo
a cabo con diferentes soluciones, según la discreción asistencial del
médico tratante. Tras sedación profunda mediante administración
intravenosa de propofol, fentanilo y/o midazolam, se realizó VCC
asistida por agua [12], empleando un endoscopio de alta definición
(high-definition, HD) con luz blanca (white-light, WL).
Se
recopilo información que, están tradicionalmente asociada para con la
dificultad de una VCC completa: datos de filiación, edad, sexo,
antropometría, historia de cirugías digestivas, hernias/eventraciones,
antecedente de VCC incompleta, paciente ambulatorio u hospitalizado,
indicación de la VCC, indicación simultánea a una vídeo-endoscopía
digestiva alta (VEDA), momento de la jornada en que se realiza la VCC y
preparación utilizada.
Dificultad técnica de VCC completa.
Condiciendo con las dimensiones de la escala ABCD, se documentaron los
desenlaces técnicos durante la realización de una VCC hasta completarla,
o su intento:
1. Necesidad de compresión abdominal.
2. Necesidad
de al menos una rotación postural.
3. Número de endoscopistas que
participaron hasta la intubación cecal, con su respectiva curva de
aprendizaje (competente/junior vs. experto/senior).
4. Necesidad de
reiniciar VCC (independientemente del endoscopista responsable); 5.
Intubación cecal o deserción tras varios intentos.
Desenlaces
secundarios. Se consideró las siguientes circunstanciales a tomar una
vez alcanzada la intubación cecal:
6. Tiempo de entrada: Tiempo
(mm:ss) desde la inserción del colonoscopio en el margen anal, hasta la
intubación cecal (o su deserción tras varios intentos). No se
considerará el tiempo requerido para la toma de biopsia o
terapéutico.
7. Consumo de anestésicos: Dosis de propofol (mg),
midazolam (mg) y/o fentanilo (g) utilizada durante la VCC, de acuerdo
con el registro de anestesia.
8 Dolor post-VCC: Nivel de dolor
descrito por el paciente una hora después de la colonoscopia. Un médico
general ciego a la dificultad o hallazgos de la VCC le preguntará al
paciente sobre el nivel de dolor de 1 (uno) a 10 (diez), mostrando la
escala visual análoga (EVA) de calificación de dolor facial de
Wong-Baker.
La información fue recuperada por los distintos
centros participantes a través de un formulario prediseñado en la
plataforma SurveyMonkey
Se considero un valor P<0.05 como estadísticamente
significativo. La base de datos será analizada empleando la última
versión disponible del programa estadístico R (R Version 4.2.1).
Estadística descriptiva. Las variables continuas serán descritas en
media (desviación estándar, DE) o mediana (rango intercuartil, RIC),
según corresponda su distribución estadística (prueba de
Kolmógorov-Smirnov, K-S). Las variables discretas (categóricas) serán
descritas en porcentajes/frecuencias, con sus respectivos IC de
corresponder.
Estadística inferencial. En base a la puntuación
definitiva de ABCD definida al finalizar el estudio, se emplearon
operadores booleanos para estimar el nivel de dificultad en cada caso
(I, II, III y IV). El nivel de dificultad será contrastado
vs. características basales, generales de la VCC y desenlaces
secundarios, empleando las pruebas de hipótesis respectivas: prueba
Kruskal-Wallis en el caso de variables continuas y chi-cuadrado de
Pearson en el caso de variables discretas.
(categóricas). Los datos
faltantes se trataron con imputacion multiple. Se utilizo
ordinalforest para el proceso de seleccion de variables.
Finalmente se contruyo un modelo mixto de regresion ordinal con
“intitucion” como variable de efectos aleatorios.
db_total <- read_excel("C:/Users/gabyt/Downloads/CEECS 2021/taller/abcd_survey_monkey.xlsx",
na = "No estimable", col_names = TRUE)
db_total<-db_total[,-c(1:9)]
db_total<-db_total[,-2]
db_total<-db_total[-1,]
list_total <- c("institution",
"age","gender","height","weight",
"digestive_surgery","type_digestive_surgery","hernia",
"prior_incomplete_colonoscopy","ambulatory_hospitalised","indication_colonoscopy",
"preparation","other_preparation","schedule","veda_vcc_conjunta",
"time_entrance",
"manual_pressure_more_than_five_seconds",
"postural_changes",
"operators",
"first_operator_type",
"second_operator_type",
"third_operator_type",
"restart_within_single_operator",
"another_technique",
"type_another_technique",
"ileocecal_junction_visualization",
"time_outside","bbps_right","bbps_transverse","bbps_left",
"sedation","consumption_propofol_mg","consumption_fentanyl_ug","consumption_midazolam_ug","other_findings","pain_post_colonoscopy","adverse_events")
colnames(db_total) <- c(list_total)
#write.csv(db_total,"C:/Users/gabyt/Downloads/CEECS 2021/taller/db_total.csv",row.names = F)
db_total$time_entrance <- round(as.difftime(db_total$time_entrance,units = "mins"),digits = 3)
db_total$time_entrance<-as.numeric(db_total$time_entrance)
db_total$indication_colonoscopy<-as.factor(db_total$indication_colonoscopy)
table(db_total$indication_colonoscopy)
##
## Diagnóstica en un paciente sintomático (ej: dolor abdominal, diarrea, anemia, hematoquezia, proctorragia, etc.)
## 716
## Screening/cribado de cáncer colorrectal (CCR)
## 981
## Surveillance/seguimiento de cualquier preexistencia
## 373
## Terapeutica en un paciente programado (pero con intención de llegar hasta ciego)
## 32
db_total$gender <- ifelse(db_total$gender=="Masculino",0,1)
db_total$gender<-factor(db_total$gender,levels = c(0,1),labels = c("hombre","mujer"))
table(db_total$gender)
##
## hombre mujer
## 960 1137
db_total$digestive_surgery <- ifelse(db_total$digestive_surgery=="No",0,1)
db_total$digestive_surgery<-factor(db_total$digestive_surgery,levels = c(0,1),labels = c("no","si"))
table(db_total$digestive_surgery)
##
## no si
## 1191 907
db_total$prior_incomplete_colonoscopy <- ifelse(db_total$prior_incomplete_colonoscopy=="No",0,1)
db_total$prior_incomplete_colonoscopy<-factor(db_total$prior_incomplete_colonoscopy,levels = c(0,1),labels = c("no","si"))
table(db_total$prior_incomplete_colonoscopy)
##
## no si
## 2011 63
db_total$ambulatory_hospitalised <- ifelse(db_total$ambulatory_hospitalised=="Ambulatorio",0,1)
db_total$ambulatory_hospitalised<-factor(db_total$ambulatory_hospitalised,levels = c(0,1),labels = c("ambulatorio","hospitalizado"))
table(db_total$ambulatory_hospitalised)
##
## ambulatorio hospitalizado
## 2073 24
db_total$indication_colonoscopy <- ifelse(db_total$indication_colonoscopy=="Screening/cribado de cáncer colorrectal (CCR)",1,
ifelse(db_total$indication_colonoscopy=="Surveillance/seguimiento de cualquier preexistencia",2,
ifelse(db_total$indication_colonoscopy=="Diagnóstica en un paciente sintomático (ej: dolor abdominal, diarrea, anemia, hematoquezia, proctorragia, etc.)",3,
ifelse(db_total$indication_colonoscopy=="Terapeutica en un paciente programado (pero con intención de llegar hasta ciego)",4,NA))))
db_total$indication_colonoscopy<-factor(db_total$indication_colonoscopy, levels = c(1,2,3,4),labels = c("screening ccr","seguimiento","diagnostica","terapeutica programado"))
table(db_total$indication_colonoscopy)
##
## screening ccr seguimiento diagnostica
## 981 373 716
## terapeutica programado
## 32
db_total$hernia <- ifelse(db_total$hernia=="No",0,1)
class(db_total$hernia)
## [1] "numeric"
db_total$hernia<-factor(db_total$hernia,levels = c(0,1),labels = c("no", "si"))
table(db_total$hernia)
##
## no si
## 2026 46
db_total$preparation <- ifelse(db_total$preparation=="Polietilenglicol (Barex)",1,
ifelse(db_total$preparation=="Sulfato de sodio (Sulfodom)",2,
ifelse(db_total$preparation=="Fosfato de sodio (Fosfodom)",3,
ifelse(db_total$preparation=="Manitol"|
db_total$preparation=="Picosulfato de sodio (Novoprep)",4,0))))
db_total$preparation<-factor(db_total$preparation,levels = c(1,2,3,4),
labels = c("barex","sulfodom","fosfodom","otra"))
table(db_total$preparation)
##
## barex sulfodom fosfodom otra
## 1221 255 266 359
db_total$schedule <- ifelse(db_total$schedule=="Por la mañana (07:00 - 12:00)",0,1)
db_total$schedule<-factor(db_total$schedule,levels = c(0,1),labels = c("mañana","tarde"))
db_total$veda_vcc_conjunta <- ifelse(db_total$veda_vcc_conjunta=="No, va a realizarse solamente VCC.",0,1)
db_total$veda_vcc_conjunta<-factor(db_total$veda_vcc_conjunta,levels = c(0,1),labels = c("no","si"))
table(db_total$veda_vcc_conjunta)
##
## no si
## 1165 907
db_total$bbps_left <- as.numeric(db_total$bbps_left)
db_total$bbps_transverse <- as.numeric(db_total$bbps_transverse)
db_total$bbps_right <- as.numeric(db_total$bbps_right)
db_total$boston_sum <- db_total$bbps_right + db_total$bbps_transverse + db_total$bbps_left
db_total$boston <- ifelse(db_total$boston_sum>=8 & !is.na(db_total$boston_sum),"Excelente","Bueno")
db_total$boston<-as.factor(db_total$boston)
db_total$first_operator_type <- ifelse(db_total$first_operator_type=="No experto/junior",0,1)
db_total$first_operator_type<-factor(db_total$first_operator_type,levels = c(0,1),labels=c("junior","experto"))
table(db_total$first_operator_type)
##
## junior experto
## 245 1843
db_total$second_operator_type <- ifelse(db_total$second_operator_type=="No experto/junior",0,
ifelse(db_total$second_operator_type=="Experto/senior",1,db_total$second_operator_type))
db_total$second_operator_type<-ifelse(is.na(db_total$second_operator_type),99,db_total$second_operator_type)
db_total$second_operator_type<-factor(db_total$second_operator_type,levels = c(0,1,99),labels=c("junior","experto","no necesario"))
table(db_total$second_operator_type)
##
## junior experto no necesario
## 102 101 1907
db_total$manual_pressure_more_than_five_seconds <- ifelse(db_total$manual_pressure_more_than_five_seconds=="No",0,
ifelse(db_total$manual_pressure_more_than_five_seconds=="Sí. Se pudo progresar en menos de 10 segundos.",1,
ifelse(db_total$manual_pressure_more_than_five_seconds=="Sí. Se pudo progresar, pero en más de 10 segundos.",2,
ifelse(db_total$manual_pressure_more_than_five_seconds=="Sí. Sin embargo, no se logró progresar.",3,NA))))
db_total$manual_pressure_more_than_five_seconds<-factor(db_total$manual_pressure_more_than_five_seconds,levels = c(0,1,2,3),labels = c("no","si<10 seg","si>10","si,pero no se progreso"))
table(db_total$manual_pressure_more_than_five_seconds,useNA = "ifany")
##
## no si<10 seg si>10
## 909 724 435
## si,pero no se progreso <NA>
## 28 15
db_total$postural_changes <- ifelse(db_total$postural_changes=="No",0,ifelse(db_total$postural_changes=="Sí",1,NA))
db_total$postural_changes<-factor(db_total$postural_changes,levels = c(0,1),labels = c("no","si"))
table(db_total$postural_changes, useNA = "ifany")
##
## no si <NA>
## 1958 139 14
db_total$operators <- ifelse(db_total$operators=="No",0,1)
db_total$operators<-factor(db_total$operators,levels = c(0,1),labels = c("no","si"))
table(db_total$operators)
##
## no si
## 1969 103
db_total$restart_within_single_operator <- ifelse(db_total$restart_within_single_operator=="No",0,1)
db_total$restart_within_single_operator<-factor(db_total$restart_within_single_operator,levels=c(0,1),labels=c("no","si"))
db_total$restart_within_single_operator
## [1] no no no si no no no no no no no no no si
## [15] si no no no no no no no no no no no no no
## [29] no no no no no no no no <NA> no no no no no
## [43] no no no no no no no no no no no si no si
## [57] no si no no no no no <NA> no no no no no no
## [71] no no no no no no no no no no no no no no
## [85] no no no no no no no no no no no no no <NA>
## [99] no no no no no no no no no no si no no si
## [113] no no no no no no no no no no no no <NA> no
## [127] no no no no no no no no no no no no no <NA>
## [141] no no no no no no no no no no no no no no
## [155] no no no no no no no no no no no no no si
## [169] no no no no no no no no no no no no no no
## [183] no no no no no no no no no no no no no no
## [197] no no no no no no no no si no si no no no
## [211] no no no no no <NA> no no no no si no no no
## [225] no no no no no no no no no no no no no no
## [239] no no no no no no no si no no no no no no
## [253] no no no no <NA> no no no no no no no no no
## [267] no no no no no no no no no si no no no no
## [281] no no no no no no no no no no no no no no
## [295] no no no no no no no no no no no no no no
## [309] no no no no no no no no no no no si no si
## [323] no no no no no no no si no no no no no no
## [337] no no no no no no no no no no no no no no
## [351] no no no no no no no no no no no no no no
## [365] no no no no no no no no no no no no no no
## [379] no no no no no si no no no no no no no no
## [393] no no no no no no no no no no no no no no
## [407] no no no no no no no no no no no no no no
## [421] no no no no no no no no no no no no no no
## [435] no no no no no no no no no no no no no no
## [449] no no no no no no no no no no no no no no
## [463] no no no no no no no no no no no no no no
## [477] no no no no no no no si no no <NA> si no no
## [491] no no no no no no si no no no no no no no
## [505] no no no no no no no no no no si no no no
## [519] no no no no no no no no no no no no no no
## [533] no no no no no no no no no no no no no no
## [547] no no no no no no no no no no no no no no
## [561] no no no no no no no no no no no no no no
## [575] no no no no no no no no no no no no no no
## [589] no no no no no no no no no no no no no no
## [603] no no si no no no no no no no no no no no
## [617] no no no no no no no no no no no no no no
## [631] no no no no no no no no no no no no no no
## [645] no no no no no no no no no no no no no no
## [659] no no no no no no no no no no no no no no
## [673] no no no no no no no no no no no no no no
## [687] no no no no no no no no no no no no no no
## [701] no no no no no no no no no no no no no no
## [715] no no no no no no no no no no no no no no
## [729] no no no no no no no no no no no no no no
## [743] no no no no no no no no no si no no no no
## [757] no no no no no <NA> no no no no no no no no
## [771] no no no no no no no no no no no no no no
## [785] no no no no no no no si no no no no no no
## [799] no no no no no no si no no no no si no no
## [813] no no no no no no no no no no no no no no
## [827] no no no no no no no no no no no no no no
## [841] no no no no no no no no no no no no no no
## [855] no no no no no no no no no no no no no no
## [869] no no no no no no no no no no no no no no
## [883] no no no no no no no no <NA> no no no no no
## [897] no no no no no no no no no no no no no no
## [911] no no no no no si no si no no no no no no
## [925] no no no no no no no no no no no no no no
## [939] no no no no no no no no no no no no no no
## [953] no no no no no no no no no no no no no no
## [967] no no no no no no no no no no no no no no
## [981] no no no no no no no no no no no no no no
## [995] no no no no no no no no no no no si no no
## [1009] no no no <NA> no no no no no no no no no no
## [1023] no no no no no no si no no no no no no no
## [1037] no no no no no no no no no no no no no no
## [1051] no no no no no no no no no no no no no no
## [1065] no no no no si no no no no no no no no no
## [1079] no no no no no no no no si no no no si no
## [1093] no no no si no no no no no no no no no no
## [1107] no no no si si no no no no no <NA> no si no
## [1121] no no no no no no no no no no no no no no
## [1135] no no no no no no no no si no no no no no
## [1149] no no no no no no no no no no no no no no
## [1163] no no no no no no no no no no no no no no
## [1177] no no no no no no no no no no no no no no
## [1191] no no no no no no no no no no no no no no
## [1205] no no no no no no no no no no no no no no
## [1219] no <NA> no no no no no no no no no no no no
## [1233] no no no no si no si no no no no no no no
## [1247] no no si no no no si no no no no si no no
## [1261] no no no no no no no no no no no no no no
## [1275] no no no no no no no no no no no no no no
## [1289] no no no no no no no no no no no no no no
## [1303] no no no no no no no no no no no no no no
## [1317] no no no no no no no no no no no no no no
## [1331] no no no no no no no no no no no no no no
## [1345] no no no no no no no no no no no no no si
## [1359] no no no no no no <NA> no no no no no no no
## [1373] no no no no no no no no no no no no no no
## [1387] no no no no no no no no no no no no no no
## [1401] no no no no no no no no no no no no no no
## [1415] no no no no no no no no no no no no no no
## [1429] no no no no no no no no no no no no no no
## [1443] no no no no no no no no no no no no no no
## [1457] no si no no no no no no no no no no no no
## [1471] no no no no no no no no no no si no no no
## [1485] no no no no no no no no no no no no no no
## [1499] no no no no no no no no no no no no no no
## [1513] no no si no no no no no no no no no no no
## [1527] no no no no si no no no no no no si no no
## [1541] no no no no no no no no no no no no no no
## [1555] si no no no no no <NA> no no no no no no no
## [1569] no si no no no no si no no no no no no no
## [1583] no no no no no no no no no no no no no no
## [1597] no no no no no no no no no no no no no no
## [1611] no no no si no no no no no no si no no si
## [1625] si si no no no no no no no no no si no no
## [1639] no no no no no no si no no no no no no no
## [1653] no no no no no no no no no no no no no no
## [1667] no no no no no no no no no no no no no no
## [1681] no no no no no no no no no no no no no no
## [1695] no no no no no no no si no no no no no no
## [1709] no no no no no no si no no no no no no no
## [1723] no si no no no no no no no no no no no no
## [1737] no no no no no no no no no no no no no no
## [1751] no no no no no no no no no no no no no no
## [1765] no no no no no no <NA> no no no no no no no
## [1779] no no no no no <NA> no si si si no si no no
## [1793] no no si no no no no no no no no si no no
## [1807] no no no no no no no <NA> no no no no si si
## [1821] no no no no no no no no no no no no no no
## [1835] no no no no no <NA> no no si no no no no no
## [1849] no no no no no no no no no no no no no no
## [1863] no no no no no no no no no no si no si no
## [1877] no no no no no no si <NA> no no no no no no
## [1891] no no no no no no no no no no no no no no
## [1905] no no no no no no no si no no no no no si
## [1919] no no no no no no no no no no no no no no
## [1933] si no no no no no no no no no no no no no
## [1947] no no no no no no no no no no no no no no
## [1961] no no no no no no no no no no no no no no
## [1975] no no no no no no no no no no no no no no
## [1989] no no no no no no no si no no no no no no
## [2003] no no no no no no no no no no no no no no
## [2017] no si si si <NA> no no no no no si no no no
## [2031] no no no no no no no no no no no no no no
## [2045] no no no si no no si si no no no no no no
## [2059] no no no no no no no no no no no no no no
## [2073] no no no no no no no no no no no no no no
## [2087] no si si no si no no no no no no si no no
## [2101] no no no no no no si no no no <NA>
## Levels: no si
db_total$ileocecal_junction_visualization <- ifelse(db_total$ileocecal_junction_visualization=="No",0,1)
db_total$ileocecal_junction_visualization<-factor(db_total$ileocecal_junction_visualization,levels=c(0,1),labels=c("no","si"))
db_total$ileocecal_junction_visualization
## [1] si si si si si si si si si si si si si si
## [15] si si si si si si si si si si si si si no
## [29] si si <NA> si si no si si <NA> si si si si si
## [43] si si si si si si si si si si si si si no
## [57] si no si si si si si si si si si si si si
## [71] no si si si no si si si si si si si no si
## [85] si si si si si si si si si si si si si si
## [99] si si si si si si si si si si no si si no
## [113] si si si si si si si si si si si si si si
## [127] si si si si <NA> si si si si si si si si si
## [141] si si si si si si si si si si si si si si
## [155] si si no si si si si si si si si si si si
## [169] si si si si si si no si si si si si si si
## [183] si si si si si si no si si si si si si si
## [197] si si si si si si si si si si si si si si
## [211] si si si si si no si si si si si si si si
## [225] si si si si si no si si si si si si si si
## [239] si si <NA> si si si si si si si si si si si
## [253] si si si si si si si si si si si si si si
## [267] si si no si si si si si si si si si si si
## [281] si si si si si si si si si si si si si si
## [295] si si si si si si si si si si si si si si
## [309] si no si si si si si si si si si si si si
## [323] si si si si si si si no si si si si si si
## [337] si si si si si si si si si si no si si si
## [351] si si no si si si si si si si si si si si
## [365] si si si si no no si si si si si si no <NA>
## [379] no no si si si si si si si no si si si no
## [393] si si si si si no si si si no si si si si
## [407] si no si si si si si si si si si si si si
## [421] si si si si si <NA> si si si si si si si no
## [435] si si si si si si si si si si no si si si
## [449] si si si si si si si si si si si si si si
## [463] si si si si si si si si si si si si si si
## [477] si si si si si si si si si si si no si si
## [491] si no si no si si si si si si si si si si
## [505] si si si si si si si si si si no si si si
## [519] si si si si si si si si si si si si si si
## [533] si si si si si si si si si si si si si si
## [547] si si si si si si si si si no si si si si
## [561] si si si si no si si si si si si si si si
## [575] si si si si si si si si si si si si no si
## [589] si si si si si si si si si si si si si si
## [603] si si si si si si si si si si si si si si
## [617] si si si si si si si si si si si <NA> si si
## [631] si si si si si si si si si si si si si si
## [645] si si si si si si si si si si si si si si
## [659] si si si si si si si si si si si si si si
## [673] <NA> si si si si si si si si si si si si si
## [687] si si si si si si si si si si si si si si
## [701] si si si si si si si si si si si si si si
## [715] si si si si si si si si si si si si si si
## [729] si si si si si si si si si si no si si si
## [743] si si si si si si si si si no si si si si
## [757] si si si si si si si si si si si si si si
## [771] si si si si si si si si si si si si si si
## [785] si si si si si si si si si si si si si si
## [799] si si si si si si no si si si si si si si
## [813] si si si si si si si si si si si si si si
## [827] si si si si si si si si no si si si si si
## [841] si si si si si si si si si si si si si si
## [855] si si si si si si si si si si si si si si
## [869] si no no si si si si si si si si si si si
## [883] si si si si si si si si si si si si si si
## [897] si si si si si si si si si si si si si si
## [911] si si si si si si si si si si si si si si
## [925] si si si si si si si si si si si si <NA> si
## [939] si si si si si si si si si si si si si si
## [953] si si si si si si si si si si si si si si
## [967] si si si si si si si si si si si si si si
## [981] si si si si no si no si si si si si si si
## [995] si si si si si no si si si si si si si si
## [1009] si si si si si si si si si si si si si si
## [1023] si si si si si si si si si si si si si si
## [1037] si si si si si si no si si si si si si si
## [1051] si si si si si si si si si si si si si si
## [1065] si si si si si si si si si si si si si si
## [1079] si si si no si si si si si si si si si si
## [1093] si si si si si si si si si si si si si si
## [1107] si si si si si si si si si si si si si si
## [1121] no si si si si si si si si si no si si si
## [1135] si si no si si si si si si si si si si si
## [1149] si <NA> si si si si si si si si si si si si
## [1163] si si si si si si si si si si si si si si
## [1177] si si si si si si si si si si si si si si
## [1191] si si si si si si si si si si si si si si
## [1205] si si si si si si si si si si si si si si
## [1219] si si si si si si si si si si si si si si
## [1233] si si si si si si si si si si si si si si
## [1247] si si si si si si si si si si si si si si
## [1261] si si si si si si si si si si si si si si
## [1275] si si si si si si si si si si si si si si
## [1289] si si si si si si si si si si si si si si
## [1303] si si si si si si si si si si si si si si
## [1317] si si si si si si si si si si si si si si
## [1331] si si si si si si si si si si si si si si
## [1345] si si si si si si si si si si si si si si
## [1359] si si si si si si si si si si si si si si
## [1373] si si si si no si si si si si si si si si
## [1387] si si si si si si si si si si si si si si
## [1401] si si si si si si si si si si si si si si
## [1415] si si si si si si si si si si si si si si
## [1429] si si si si si si si si si si si si si si
## [1443] si si si si si si no si si si si si si si
## [1457] si si si si si si si si si si si si si si
## [1471] si si si si si si si si si si si si si si
## [1485] si si si si si si si si si si si si si no
## [1499] no si si si si si si si si si si si no si
## [1513] si si no si no <NA> si si si si si si no si
## [1527] si si si si si si si si si si si si <NA> si
## [1541] si si si si si si si si si si si si si si
## [1555] si si si si si si si si si si si si si si
## [1569] si si si si no si si si si si si no si si
## [1583] si si si si no si si si si no si si si si
## [1597] si si si si si si si si si si si si <NA> si
## [1611] si si si si si si si si si si si si si si
## [1625] si no si si no si si si no si si si si si
## [1639] no si no si si si si si si si si si si si
## [1653] si si si si si si si si si si si si si si
## [1667] si <NA> si si no si si no si si si si si si
## [1681] si si si si si si si si si no no si si si
## [1695] si si si si si si si si si si si si si si
## [1709] si si si si si si si si si si si si si si
## [1723] si si si si si si no si si si si si si si
## [1737] si si si si si si si si si si si si si si
## [1751] si si si si si si si si si si si si si si
## [1765] si si si si si si si si si si si si si si
## [1779] si si si si si si si si si si si si si si
## [1793] si si si si si si si si si si si si si no
## [1807] no si si si si si si si si si si si si si
## [1821] si si si si si si si si si si si si si si
## [1835] si si si si si si si si si si no si si si
## [1849] si si si si si si si si <NA> si si si si si
## [1863] si si si si si si si si si si si si si si
## [1877] si si si si si si si si si si si si si si
## [1891] si si si si si si si si si si si si si si
## [1905] si si si si si no si no si si si si no si
## [1919] no si si si si si si si si si si si si si
## [1933] si si si si si si si si si si si si si si
## [1947] si si si si si si si si si si si si si si
## [1961] si si si si si si si si si si si si si si
## [1975] si si no si si si si si si si si si si si
## [1989] si si si si si si si si si si si si si si
## [2003] si si si si si si si si si si si si si si
## [2017] no si si si si si si si si si si si si si
## [2031] si si si si si si si si si si si si si si
## [2045] si si si si si si si si si si si si si si
## [2059] si si si si si si si si si si si si si si
## [2073] si si si si si si si si si si si si si si
## [2087] si no si si si si si si si si si si si no
## [2101] si si no si si si si si si si <NA>
## Levels: no si
db_total$age <- as.numeric(db_total$age)
db_total$age_cat <- cut(db_total$age,
breaks=c(17,39,64,Inf),
labels=c("17-39 años",
"40-64 años",
">65 años"))
table(db_total$age_cat)
##
## 17-39 años 40-64 años >65 años
## 184 1202 723
db_total$height <- as.numeric(db_total$height)
db_total$weight <- as.numeric(db_total$weight)
db_total$bmi <- db_total$weight/((db_total$height/100)*(db_total$height/100))
db_total$bmi_cat <- cut(db_total$bmi,
breaks=c(0,19.99,24.99,29.99,34.99,Inf),
labels=c("Underweight (<20)",
"Normal weight (20-24.9)",
"Obese (25-29.9)",
"Overweight I (30-34.99)",
"Overweright II/III (>35)"))
db_total$pain <- ifelse(db_total$pain_post_colonoscopy>7 & !is.na(db_total$pain_post_colonoscopy),"8-10",
ifelse(db_total$pain_post_colonoscopy>2 & !is.na(db_total$pain_post_colonoscopy),"3-7","0-2"))
db_total$pain<-factor(db_total$pain, levels = c("0-2","3-7","8-10"),labels =c("leve","moderado","severo"))
table(db_total$pain)
##
## leve moderado severo
## 1896 210 5
db_total$score <- ifelse(db_total$ileocecal_junction_visualization=="no",5,
ifelse(db_total$operators=="si"
|db_total$restart_within_single_operator=="si"
|db_total$manual_pressure_more_than_five_seconds=="si,pero no se progreso"
|db_total$postural_changes=="si",4,
ifelse(db_total$manual_pressure_more_than_five_seconds=="si>10",3,
ifelse(db_total$manual_pressure_more_than_five_seconds=="si<10 seg",2,1))))
db_total$score<-as.factor(db_total$score)
db_total$score<-as.ordered(db_total$score)
#SCORE
freq(db_total$score, plot = T)#asimetria izquierda
## db_total$score
## Frequency Percent Valid Percent Cum Percent
## 1 799 37.849 39.398 39.40
## 2 600 28.423 29.586 68.98
## 3 295 13.974 14.546 83.53
## 4 248 11.748 12.229 95.76
## 5 86 4.074 4.241 100.00
## NA's 83 3.932
## Total 2111 100.000 100.000
#INSTITUCION:
db_total$institution <- str_trim(str_split(db_total$institution, "-", simplify = TRUE)[,1], side="both")
db_total$institution <- str_remove(db_total$institution, ". Dr. Manzotti Leandro")
instituciones <- str_split(db_total$institution, " ", simplify = TRUE)
instituciones2 <- instituciones[2111,]
instituciones <- instituciones[,(2:9)]
for (i in 1:2111){
instituciones2[i] <- str_trim(paste(instituciones[i,], collapse = " "), side="both")
}
db_total$institution<- instituciones2
db_total$institution<-as.factor(db_total$institution)
table(db_total$institution,useNA = "ifany")
##
##
## 18
## Centro de Estudios Digestivos
## 37
## Clínica de Cuyo
## 101
## Clínica San Miguel
## 124
## Grupo Mit Santa Fe
## 308
## Hospital Italiano de Mendoza
## 47
## Hospital Nacional Profesor Alejandro Posadas (HNPAP)
## 42
## Hospital Regional R Carrillo S del Estero
## 12
## Hospital Regional Río Grande
## 4
## IGEA
## 494
## Instituto Modelo de Cardiología de Córdoba
## 451
## Instituto Modelo de Gastroenterologia de Formosa
## 150
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED)
## 112
## Instituto Otorrinolaringológico Tandil
## 12
## Sanatorio Allende
## 199
db_total$consumption_propofol_mg<-as.numeric(db_total$consumption_propofol_mg)
#Distribucion de las variables
#EDAD:
hist(db_total$age)
shapiro.test(db_total$age)
##
## Shapiro-Wilk normality test
##
## data: db_total$age
## W = 0.99018, p-value = 8.839e-11
#por grupo:
hist(db_total$age[db_total$score=="1"])
hist(db_total$age[db_total$score=="2"])
hist(db_total$age[db_total$score=="3"])
hist(db_total$age[db_total$score=="4"])
hist(db_total$age[db_total$score=="5"])
shapiro.test(db_total$age[db_total$score=="1"])
##
## Shapiro-Wilk normality test
##
## data: db_total$age[db_total$score == "1"]
## W = 0.99189, p-value = 0.0002323
shapiro.test(db_total$age[db_total$score=="2"])
##
## Shapiro-Wilk normality test
##
## data: db_total$age[db_total$score == "2"]
## W = 0.98954, p-value = 0.000283
shapiro.test(db_total$age[db_total$score=="3"])
##
## Shapiro-Wilk normality test
##
## data: db_total$age[db_total$score == "3"]
## W = 0.98128, p-value = 0.0006638
shapiro.test(db_total$age[db_total$score=="4"])
##
## Shapiro-Wilk normality test
##
## data: db_total$age[db_total$score == "4"]
## W = 0.97824, p-value = 0.0007457
shapiro.test(db_total$age[db_total$score=="5"])#solo este cumple normalidad
##
## Shapiro-Wilk normality test
##
## data: db_total$age[db_total$score == "5"]
## W = 0.98095, p-value = 0.2354
ggplot(data = db_total, mapping = aes(x=score, y=age))+
geom_boxplot(mapping = aes(fill=score))+
geom_jitter(size=2, position = position_jitter(width = 0.05))#distribucion similar-->Kruskal
#SEXO
tabla_sexo=tableby(score~notest(gender), data = db_total)
summary(tabla_sexo, text=T)
##
##
## | | 1 (N=799) | 2 (N=600) | 3 (N=295) | 4 (N=248) | 5 (N=86) | Total (N=2028) | p value|
## |:---------|:-----------:|:-----------:|:-----------:|:-----------:|:----------:|:--------------:|-------:|
## |gender | | | | | | | |
## |- N-Miss | 3 | 7 | 1 | 2 | 0 | 13 | |
## |- hombre | 443 (55.7%) | 260 (43.8%) | 95 (32.3%) | 86 (35.0%) | 34 (39.5%) | 918 (45.6%) | |
## |- mujer | 353 (44.3%) | 333 (56.2%) | 199 (67.7%) | 160 (65.0%) | 52 (60.5%) | 1097 (54.4%) | |
sexo=chisq.test(db_total$gender,db_total$score, correct = T)
sexo$expected #cumple
## db_total$score
## db_total$gender 1 2 3 4 5
## hombre 362.6442 270.1608 133.9414 112.0734 39.18015
## mujer 433.3558 322.8392 160.0586 133.9266 46.81985
#BMI
hist(db_total$bmi)
hist(db_total$bmi[db_total$score=="1"])
hist(db_total$bmi[db_total$score=="2"])
hist(db_total$bmi[db_total$score=="3"])
hist(db_total$bmi[db_total$score=="4"])
hist(db_total$bmi[db_total$score=="5"])
shapiro.test(db_total$bmi[db_total$score=="1"])
##
## Shapiro-Wilk normality test
##
## data: db_total$bmi[db_total$score == "1"]
## W = 0.96219, p-value = 1.706e-13
shapiro.test(db_total$bmi[db_total$score=="2"])
##
## Shapiro-Wilk normality test
##
## data: db_total$bmi[db_total$score == "2"]
## W = 0.93244, p-value = 8.3e-16
shapiro.test(db_total$bmi[db_total$score=="3"])
##
## Shapiro-Wilk normality test
##
## data: db_total$bmi[db_total$score == "3"]
## W = 0.96885, p-value = 5.511e-06
shapiro.test(db_total$bmi[db_total$score=="4"])
##
## Shapiro-Wilk normality test
##
## data: db_total$bmi[db_total$score == "4"]
## W = 0.9034, p-value = 1.754e-11
shapiro.test(db_total$bmi[db_total$score=="5"]) #NO SE CUMPLE NORMALIDAD
##
## Shapiro-Wilk normality test
##
## data: db_total$bmi[db_total$score == "5"]
## W = 0.89072, p-value = 2.51e-06
ggplot(data = db_total, mapping = aes(x=score, y=bmi))+
geom_boxplot(mapping = aes(fill=score))+
geom_jitter(size=2, position = position_jitter(width = 0.05))#similar--->Kruskal
# #Propofol
class(db_total$consumption_midazolam_ug)
## [1] "character"
db_total$consumption_propofol_mg<-as.numeric(db_total$consumption_propofol_mg)
hist(db_total$consumption_propofol_mg)
hist(db_total$consumption_propofol_mg[db_total$score=="1"])
hist(db_total$consumption_propofol_mg[db_total$score=="2"])
hist(db_total$consumption_propofol_mg[db_total$score=="3"])
hist(db_total$consumption_propofol_mg[db_total$score=="4"])
hist(db_total$consumption_propofol_mg[db_total$score=="5"])
shapiro.test(db_total$consumption_propofol_mg[db_total$score=="1"])
##
## Shapiro-Wilk normality test
##
## data: db_total$consumption_propofol_mg[db_total$score == "1"]
## W = 0.89526, p-value < 2.2e-16
shapiro.test(db_total$consumption_propofol_mg[db_total$score=="2"])
##
## Shapiro-Wilk normality test
##
## data: db_total$consumption_propofol_mg[db_total$score == "2"]
## W = 0.89491, p-value < 2.2e-16
shapiro.test(db_total$consumption_propofol_mg[db_total$score=="3"])
##
## Shapiro-Wilk normality test
##
## data: db_total$consumption_propofol_mg[db_total$score == "3"]
## W = 0.91061, p-value = 4.086e-12
shapiro.test(db_total$consumption_propofol_mg[db_total$score=="4"])
##
## Shapiro-Wilk normality test
##
## data: db_total$consumption_propofol_mg[db_total$score == "4"]
## W = 0.90126, p-value = 1.161e-11
shapiro.test(db_total$consumption_propofol_mg[db_total$score=="5"])
##
## Shapiro-Wilk normality test
##
## data: db_total$consumption_propofol_mg[db_total$score == "5"]
## W = 0.90767, p-value = 1.375e-05
#no cumple normalidad
ggplot(data= db_total, mapping = aes(x=score, y=consumption_propofol_mg))+
geom_boxplot(mapping = aes(fill=score))+
geom_jitter(size=2, position = position_jitter(width = 0.05)) #las distribuciones son similares--->KRUSKAL
#DOLOR categ
ggplot(data= db_total, mapping = aes(x=score, y=pain))+
geom_boxplot(mapping = aes(fill=score))+geom_jitter(size=2, position = position_jitter(width = 0.05))
chi_dolor<-chisq.test(db_total$pain, db_total$score)
chi_dolor$expected# NO CUMPLE, mejor trend Cochran o mediana para dolor sin categorizar
## db_total$score
## db_total$pain 1 2 3 4 5
## leve 716.263314 537.86982 264.4526627 222.3195266 77.0946746
## moderado 80.766765 60.65089 29.8200197 25.0690335 8.6932939
## severo 1.969921 1.47929 0.7273176 0.6114398 0.2120316
class(db_total$score)
## [1] "ordered" "factor"
dolor_score<-table(db_total$pain, db_total$score)
trend<-prop_trend_test(dolor_score)
mood.medtest(db_total$score,db_total$pain_post_colonoscopy,exact = F)
##
## Mood's median test
##
## data: db_total$score by structure(c(1L, 1L, 1L, 1L, NA, 9L, 8L, NA, NA, NA, 1L, NA, NA, db_total$score by 1L, 1L, 1L, 4L, 1L, 6L, 2L, 1L, 1L, 3L, 1L, 1L, 2L, 1L, 3L, NA, db_total$score by 1L, 1L, 1L, 2L, NA, 1L, 2L, 2L, 2L, 1L, NA, NA, 2L, NA, NA, NA, db_total$score by NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3L, 1L, NA, 2L, 1L, 1L, db_total$score by 1L, 1L, 1L, 3L, 2L, 1L, NA, 1L, 2L, NA, NA, NA, 1L, 1L, 2L, 1L, db_total$score by NA, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, NA, 1L, 1L, 1L, 1L, 2L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, db_total$score by 2L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by NA, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 3L, 1L, 2L, NA, 4L, db_total$score by 1L, 4L, 3L, 4L, 1L, 2L, 1L, 3L, 3L, 3L, 2L, 1L, 1L, NA, 2L, 2L, db_total$score by 3L, 2L, NA, NA, 3L, 4L, 4L, 4L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 2L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 2L, NA, 1L, 1L, 1L, 3L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 2L, db_total$score by NA, 1L, 1L, 3L, 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, 1L, 2L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, 3L, db_total$score by 3L, 3L, NA, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 1L, 2L, 3L, 4L, db_total$score by 1L, 1L, 2L, 4L, 2L, 2L, 4L, NA, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 2L, NA, 4L, 2L, 3L, 2L, 3L, 1L, 2L, 3L, 2L, 1L, 2L, 3L, 3L, db_total$score by 3L, 5L, 2L, 2L, 7L, 2L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 7L, 1L, 1L, 1L, 1L, 6L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, db_total$score by 1L, 2L, 1L, 1L, 1L, 1L, 4L, 4L, 1L, 4L, 1L, NA, 1L, NA, 1L, 1L, db_total$score by 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, NA, 1L, 2L, NA, 1L, 1L, db_total$score by 1L, NA, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 2L, 1L, 2L, 3L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 3L, 1L, 2L, 3L, db_total$score by 2L, 3L, 3L, 2L, 2L, 2L, 3L, 1L, 3L, 2L, 2L, 1L, 8L, 1L, 1L, 2L, db_total$score by NA, 2L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, NA, 3L, 2L, 2L, 3L, 3L, 1L, 4L, 4L, NA, 3L, 1L, 2L, 1L, 1L, db_total$score by 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, NA, 1L, 1L, NA, 1L, 1L, 2L, 4L, db_total$score by 2L, 1L, 3L, 2L, 1L, 2L, 1L, NA, NA, 5L, 4L, 2L, NA, 1L, NA, 3L, db_total$score by 3L, 1L, 3L, 3L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 3L, 3L, 1L, 1L, 2L, 1L, db_total$score by 1L, 1L, 6L, NA, 3L, 5L, 6L, 2L, 2L, 2L, 2L, 2L, 2L, NA, 1L, 2L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, NA, 1L, 1L, 1L, 1L, NA, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, NA, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 6L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 3L, NA, 3L, NA, NA, NA, NA, NA, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, db_total$score by 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, NA, NA, NA, db_total$score by 2L, 1L, 1L, 1L, 1L, 1L, NA, 2L, 5L, 2L, 1L, 2L, NA, 1L, 1L, 2L, db_total$score by 2L, 2L, NA, 1L, 1L, NA, 3L, NA, 1L, 2L, 1L, 2L, 4L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 4L, 2L, 3L, 1L, 1L, 1L, 1L, 1L, 7L, 3L, db_total$score by NA, NA, NA, NA, NA, 3L, NA, NA, 2L, 1L, 4L, 1L, 1L, 1L, 1L, NA, db_total$score by 1L, 1L, 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, NA, 1L, 1L, 1L, 1L, 1L, NA, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 9L, 1L, 1L, NA, 1L, db_total$score by 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, NA, NA, NA, 2L, NA, 1L, 9L, 1L, NA, NA, NA, db_total$score by 1L, NA, 1L, NA, 1L, 1L, NA, NA, NA, 2L, 1L, 1L, NA, 1L, 1L, 1L, db_total$score by 2L, 1L, 3L, 1L, 4L, NA, 3L, 4L, 4L, 3L, 3L, 4L, 2L, 3L, 1L, 2L, db_total$score by 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, NA, NA, NA, NA, NA, 1L, NA, 1L, db_total$score by 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 2L, 7L, 1L, 2L, NA, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 6L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 1L, 1L, 3L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, NA, NA, NA, NA, NA, NA, 1L, NA, 1L, 1L, NA, 1L, 1L, db_total$score by 2L, 1L, 1L, 1L, 1L, 2L, NA, 1L, NA, 2L, NA, 1L, 4L, 3L, 1L, 1L, db_total$score by 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 4L, 1L, NA, 1L, db_total$score by 1L, NA, 1L, 1L, 1L, NA, 2L, NA, 1L, NA, NA, NA, NA, NA, NA, 1L, db_total$score by NA, 3L, NA, 2L, 4L, 3L, 1L, 1L, 1L, 1L, 1L, 3L, 2L, 1L, 1L, NA, db_total$score by 3L, 1L, 3L, 1L, 2L, 2L, 4L, 4L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 3L, 1L, 1L, 2L, NA, NA, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, NA, NA, NA, NA, 3L, NA, NA, NA, NA, NA, NA, 1L, db_total$score by NA, NA, NA, NA, NA, NA, 1L, NA, NA, NA, NA, NA, NA, NA, NA, NA, db_total$score by NA, NA, NA, 1L, NA, 1L, 3L, 3L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, NA, db_total$score by 4L, NA, 1L, 1L, 1L, 1L, 1L, 2L, NA, 1L, 1L, 2L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, NA, NA, NA, 1L, NA, 3L, db_total$score by NA, 3L, NA, NA, 1L, NA, NA, 2L, 2L, NA, 1L, NA, 2L, 1L, 1L, NA, db_total$score by 2L, NA, 1L, NA, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by NA, 1L, 2L, 1L, 2L, NA, NA, NA, 1L, 1L, NA, 1L, 2L, 1L, 1L, NA, db_total$score by NA, 2L, NA, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, NA, 1L, db_total$score by 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, db_total$score by NA, 2L, 1L, NA, NA, NA, 1L, NA, NA, 1L, 1L, NA, NA, 1L, 1L, 2L, db_total$score by NA, 1L, NA, 2L, NA, NA, 1L, NA, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 6L, db_total$score by 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, db_total$score by NA, NA, 1L, 1L, 1L, 3L, 1L, 1L, NA, NA, 1L, 1L, 1L, NA, NA, 4L, db_total$score by 1L, 1L, NA, 1L, NA, 1L, 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, 1L, 1L, db_total$score by NA, NA, 1L, NA, 1L, 1L, 1L, NA, NA, NA, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, NA, 1L, 1L, 3L, db_total$score by 1L, 1L, 1L, 1L, 4L, 1L, 2L, 1L, 6L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 1L, 1L, 1L, 4L, 1L, 3L, 1L, 2L, NA, 1L, NA, NA, 1L, NA, db_total$score by NA, NA, 1L, 1L, NA, 2L, NA, 1L, 3L, 2L, 2L, 2L, NA, 1L, NA, NA, db_total$score by NA, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 1L, NA, 1L, db_total$score by 1L, NA, NA, 1L, NA, NA, NA, NA, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, NA, 1L, 2L, 1L, NA, NA, NA, NA, 1L, 1L, NA, 1L, 1L, 1L, NA, db_total$score by 1L, 3L, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, NA, db_total$score by NA, NA, 1L, NA, NA, NA, 1L, NA, NA, NA, NA, 2L, NA, 2L, 3L, 3L, db_total$score by 1L, 3L, 2L, 3L, 7L, 3L, 4L, 3L, 3L, 3L, 5L, 1L, 3L, NA, 2L, 1L, db_total$score by NA, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, NA, 1L, 1L, 1L, 1L, 1L, 1L, db_total$score by 1L, NA, NA, NA, NA, 2L, 2L, 1L, NA, NA, NA, 1L, 1L, 6L, 1L, 1L, db_total$score by 4L, 2L, 1L, NA, NA, NA, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, NA, 1L, db_total$score by 1L, 1L, 1L, 1L, NA, 2L, NA, 1L, 1L, 1L, NA, 1L, NA, 1L, 1L, NA, db_total$score by NA, NA, NA, NA, NA, 1L, 1L, NA, 1L, 1L, 2L, NA, 3L, 3L, 2L, 3L, db_total$score by 5L, 3L, 2L, 3L, 2L, 4L, 3L, 4L, 4L, 2L, 4L, 3L, 2L, 2L, 3L, 2L, db_total$score by 2L, 3L, 2L, 3L, 2L, 2L, 7L, 4L, 3L, 2L, 5L, 5L, 1L, 3L, 4L, 1L, db_total$score by 2L, 3L, 3L, NA, NA, NA, 1L, 1L, NA, 2L, NA, NA, NA, 4L, 2L, 3L, db_total$score by 1L, NA, 2L, 3L, NA, 5L, 3L, 2L, 4L, 2L, 3L, 1L, 1L, 1L, 1L, 1L, db_total$score by 5L, 1L, NA, 1L, NA, NA, NA, 2L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, db_total$score by 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, NA, 1L, 6L, 1L, 2L, 2L, db_total$score by 1L, 3L, 1L, 3L, 1L, 1L, 6L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, NA, 3L, db_total$score by 4L, 2L, 4L, 5L, 4L, 3L, NA, 1L, 4L, 5L, 1L, NA, NA, NA, NA, NA, db_total$score by 1L, NA), levels = c("1", "2", "3", "4", "5", "6", "7", "8", "9"db_total$score by ), class = "factor")
## X-squared = 143.24, df = 8, p-value < 2.2e-16
#BMI_CATEGORICO
class(db_total$bmi_cat)
## [1] "factor"
chi_bmi<-chisq.test(db_total$bmi_cat,db_total$score)
chi_bmi$expected
## db_total$score
## db_total$bmi_cat 1 2 3 4 5
## Underweight (<20) 33.13495 24.87197 12.20761 10.21453 3.570934
## Normal weight (20-24.9) 232.33910 174.39990 85.59862 71.62333 25.039051
## Obese (25-29.9) 339.23875 254.64162 124.98270 104.57736 36.559565
## Overweight I (30-34.99) 140.82353 105.70588 51.88235 43.41176 15.176471
## Overweright II/III (>35) 52.46367 39.38062 19.32872 16.17301 5.653979
#CIRUGIA DIGESTIVA PREVIA
chi_cx<-chisq.test(db_total$digestive_surgery, db_total$score)
chi_cx$expected
## db_total$score
## db_total$digestive_surgery 1 2 3 4 5
## no 448.9345 336.1369 163.5565 139.869 48.50298
## si 347.0655 259.8631 126.4435 108.131 37.49702
#AMBULATORIO- HSPITALIZADO
chi_lugar<-chisq.test(db_total$ambulatory_hospitalised, db_total$score)
chi_lugar$expected#NO CUMPLE, ver fisher?
## db_total$score
## 1 2 3 4 5
## ambulatorio 787.90273 587.219851 287.678412 244.180645 85.0183623
## hospitalizado 9.09727 6.780149 3.321588 2.819355 0.9816377
#INDICACION
chi_indicacion<-chisq.test(db_total$indication_colonoscopy, db_total$score)
chi_indicacion$expected
## db_total$score
## 1 2 3 4 5
## screening ccr 373.74184 280.072206 137.226014 115.681998 40.277943
## seguimiento 140.49852 105.285856 51.586548 43.487636 15.141444
## diagnostica 271.13056 203.178042 99.550445 83.921365 29.219585
## terapeutica programado 12.62908 9.463897 4.636993 3.909001 1.361029
#PREPARACION
chi_preparacion<-chisq.test(db_total$preparation, db_total$score)
chi_preparacion$expected
## db_total$score
## db_total$preparation 1 2 3 4 5
## barex 465.35626 350.62692 172.67937 144.58238 49.75507
## sulfodom 94.80208 71.42949 35.17813 29.45423 10.13607
## fosfodom 100.30925 75.57892 37.22167 31.16526 10.72489
## otra 134.53241 101.36467 49.92083 41.79812 14.38397
#MOMENTO DEL DIA DE REALIZACION DE LA VCC
chi_momento<-chisq.test(db_total$schedule, db_total$score)
chi_momento$expected
## db_total$score
## db_total$schedule 1 2 3 4 5
## mañana 524.1845 388.3581 192.53067 162.2005 54.72618
## tarde 270.8155 200.6419 99.46933 83.7995 28.27382
#BOSTON
chi_boston<-chisq.test(db_total$boston, db_total$score)
chi_boston$expected#cumple
## db_total$score
## db_total$boston 1 2 3 4 5
## Bueno 341.5843 256.5089 126.1169 106.0237 36.76627
## Excelente 457.4157 343.4911 168.8831 141.9763 49.23373
ggplot(db_total, aes(boston))+
geom_bar(aes(fill=score))
tabla_boston=tableby(score~notest(boston), data = db_total)
summary(tabla_boston, text=T)
##
##
## | | 1 (N=799) | 2 (N=600) | 3 (N=295) | 4 (N=248) | 5 (N=86) | Total (N=2028) | p value|
## |:------------|:-----------:|:-----------:|:-----------:|:-----------:|:----------:|:--------------:|-------:|
## |boston | | | | | | | |
## |- Bueno | 244 (30.5%) | 281 (46.8%) | 136 (46.1%) | 137 (55.2%) | 69 (80.2%) | 867 (42.8%) | |
## |- Excelente | 555 (69.5%) | 319 (53.2%) | 159 (53.9%) | 111 (44.8%) | 17 (19.8%) | 1161 (57.2%) | |
#ENDOSCOPIA PREVIA INCOMPLETA
ggplot(db_total, aes(prior_incomplete_colonoscopy))+
geom_bar(aes(fill=score))
chi_vedaprevia<-chisq.test(db_total$prior_incomplete_colonoscopy, db_total$score)
chi_vedaprevia$expected#no cumple, fisher
## db_total$score
## 1 2 3 4 5
## no 765.8688 570.03906 278.23335 239.455183 82.403605
## si 24.1312 17.96094 8.76665 7.544817 2.596395
#ILEOCECAL VISUALIZATION
chi_visualizacion<-chisq.test(db_total$ileocecal_junction_visualization,db_total$score)
chi_visualizacion$expected
## db_total$score
## 1 2 3 4 5
## no 33.88264 25.44379 12.50986 10.51677 3.646943
## si 765.11736 574.55621 282.49014 237.48323 82.353057
ggplot(db_total, aes(ileocecal_junction_visualization))+
geom_bar(aes(fill=score))
#CAMBIOS POSTURALES
chi_post<-chisq.test(db_total$postural_changes,db_total$score)
chi_post$expected
## db_total$score
## db_total$postural_changes 1 2 3 4 5
## no 744.23619 558.87574 274.78057 231.00197 80.105523
## si 54.76381 41.12426 20.21943 16.99803 5.894477
#time entrance
hist(db_total$time_entrance[db_total$score=="1"])
hist(db_total$time_entrance[db_total$score=="2"])
hist(db_total$time_entrance[db_total$score=="3"])
hist(db_total$time_entrance[db_total$score=="4"])
hist(db_total$time_entrance[db_total$score=="5"])
shapiro.test(db_total$time_entrance[db_total$score=="1"])
##
## Shapiro-Wilk normality test
##
## data: db_total$time_entrance[db_total$score == "1"]
## W = 0.75133, p-value < 2.2e-16
shapiro.test(db_total$time_entrance[db_total$score=="2"])
##
## Shapiro-Wilk normality test
##
## data: db_total$time_entrance[db_total$score == "2"]
## W = 0.80613, p-value < 2.2e-16
shapiro.test(db_total$time_entrance[db_total$score=="3"])
##
## Shapiro-Wilk normality test
##
## data: db_total$time_entrance[db_total$score == "3"]
## W = 0.8633, p-value = 1.981e-15
shapiro.test(db_total$time_entrance[db_total$score=="4"])
##
## Shapiro-Wilk normality test
##
## data: db_total$time_entrance[db_total$score == "4"]
## W = 0.83781, p-value = 2.676e-15
shapiro.test(db_total$time_entrance[db_total$score=="5"])#no cumple normalidad
##
## Shapiro-Wilk normality test
##
## data: db_total$time_entrance[db_total$score == "5"]
## W = 0.75922, p-value = 1.731e-10
ggplot(data = db_total, mapping = aes(x=score, y=time_entrance))+
geom_boxplot(mapping = aes(fill=score))+
geom_jitter(size=2, position = position_jitter(width = 0.05))#similar distribucion
#institucion:
ggplot(db_total, aes(institution))+
geom_bar(aes(fill=score))
table(db_total$institution,db_total$score)
##
## 1
## 1
## Centro de Estudios Digestivos 26
## Clínica de Cuyo 75
## Clínica San Miguel 52
## Grupo Mit Santa Fe 54
## Hospital Italiano de Mendoza 20
## Hospital Nacional Profesor Alejandro Posadas (HNPAP) 10
## Hospital Regional R Carrillo S del Estero 6
## Hospital Regional Río Grande 3
## IGEA 75
## Instituto Modelo de Cardiología de Córdoba 278
## Instituto Modelo de Gastroenterologia de Formosa 65
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED) 11
## Instituto Otorrinolaringológico Tandil 8
## Sanatorio Allende 115
##
## 2
## 1
## Centro de Estudios Digestivos 6
## Clínica de Cuyo 10
## Clínica San Miguel 48
## Grupo Mit Santa Fe 136
## Hospital Italiano de Mendoza 10
## Hospital Nacional Profesor Alejandro Posadas (HNPAP) 2
## Hospital Regional R Carrillo S del Estero 1
## Hospital Regional Río Grande 1
## IGEA 158
## Instituto Modelo de Cardiología de Córdoba 95
## Instituto Modelo de Gastroenterologia de Formosa 46
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED) 30
## Instituto Otorrinolaringológico Tandil 4
## Sanatorio Allende 52
##
## 3
## 0
## Centro de Estudios Digestivos 4
## Clínica de Cuyo 7
## Clínica San Miguel 1
## Grupo Mit Santa Fe 27
## Hospital Italiano de Mendoza 8
## Hospital Nacional Profesor Alejandro Posadas (HNPAP) 10
## Hospital Regional R Carrillo S del Estero 2
## Hospital Regional Río Grande 0
## IGEA 169
## Instituto Modelo de Cardiología de Córdoba 26
## Instituto Modelo de Gastroenterologia de Formosa 11
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED) 20
## Instituto Otorrinolaringológico Tandil 0
## Sanatorio Allende 10
##
## 4
## 3
## Centro de Estudios Digestivos 1
## Clínica de Cuyo 3
## Clínica San Miguel 13
## Grupo Mit Santa Fe 54
## Hospital Italiano de Mendoza 5
## Hospital Nacional Profesor Alejandro Posadas (HNPAP) 18
## Hospital Regional R Carrillo S del Estero 2
## Hospital Regional Río Grande 0
## IGEA 73
## Instituto Modelo de Cardiología de Córdoba 25
## Instituto Modelo de Gastroenterologia de Formosa 7
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED) 30
## Instituto Otorrinolaringológico Tandil 0
## Sanatorio Allende 14
##
## 5
## 0
## Centro de Estudios Digestivos 0
## Clínica de Cuyo 3
## Clínica San Miguel 4
## Grupo Mit Santa Fe 26
## Hospital Italiano de Mendoza 2
## Hospital Nacional Profesor Alejandro Posadas (HNPAP) 1
## Hospital Regional R Carrillo S del Estero 1
## Hospital Regional Río Grande 0
## IGEA 7
## Instituto Modelo de Cardiología de Córdoba 14
## Instituto Modelo de Gastroenterologia de Formosa 6
## Instituto Norpatagónico de Gastroenterología y Endoscopía Digestiva (INGED) 19
## Instituto Otorrinolaringológico Tandil 0
## Sanatorio Allende 3
chi_hernia<-chisq.test(db_total$hernia,db_total$score)
chi_hernia$expected
## db_total$score
## db_total$hernia 1 2 3 4 5
## no 775.21087 579.69741 284.472084 237.548853 84.070788
## si 17.78913 13.30259 6.527916 5.451147 1.929212
#Tabla1:
tabla_1<-tableby(score~kwt(age)+chisq(gender)+
kwt(bmi)+chisq(digestive_surgery)+fe(hernia)+
fe(prior_incomplete_colonoscopy)+
fe(ambulatory_hospitalised)+
chisq(indication_colonoscopy)+
chisq(preparation)+
chisq(first_operator_type)+
chisq(second_operator_type)+
chisq(schedule)+chisq(veda_vcc_conjunta)+
chisq(boston),data=db_total, numeric.stats=c("median","q1q3"),na.tableby(TRUE))
mylabels<-list(age="Edad",gender="Genero",bmi="IMC",digestive_surgery="Cirugia abdominal",hernia="Antecedentes de hernia",prior_incomplete_colonoscopy="Colonoscopia previa incompleta",ambulatory_hospitalised="Ambulatorio u hospitalizado",indication_colonoscopy="Indicacion de la colonoscopia",preparation="Preparacion colonica",operators="Cambio de endoscopista",first_operator_type="tipo de 1° operador",second_operator_type="Tipo de 2° operador",restart_within_single_operator="Reiniciar con otro operador",schedule="Momento de realizacion del procedimiento",veda_vcc_conjunta="VEDA- VCC conjunta",postural_changes="Cambios posturales",manual_pressure_more_than_five_seconds="Compresion abdominal mas de 5 seg",ileocecal_junction_visualization="Visualizacion del ciego",postural_changes="Cambios posturales", boston="Boston",time_entrance="Tiempo de entrada en min",pain="Dolor",consumption_propofol_mg="Consumo de propofol(mg)")
sum_tabla1<-summary(tabla_1, text=T,title = "Tabla 1. Caracteristicas basales y generales de la VCC segun categorias del score ABCD" , pfootnote=TRUE,labelTranslations =mylabels, digits = 2)
sum_tabla1
1 (N=799) | 2 (N=600) | 3 (N=295) | 4 (N=248) | 5 (N=86) | Total (N=2028) | p value | |
---|---|---|---|---|---|---|---|
Edad | 0.003 (1) | ||||||
- Median | 58.00 | 58.00 | 59.00 | 61.00 | 60.00 | 58.00 | |
- Q1, Q3 | 49.00, 66.00 | 49.00, 68.00 | 49.00, 71.00 | 51.00, 69.25 | 52.00, 72.00 | 49.00, 68.00 | |
Genero | < 0.001 (2) | ||||||
- N-Miss | 3 | 7 | 1 | 2 | 0 | 13 | |
- hombre | 443 (55.7%) | 260 (43.8%) | 95 (32.3%) | 86 (35.0%) | 34 (39.5%) | 918 (45.6%) | |
- mujer | 353 (44.3%) | 333 (56.2%) | 199 (67.7%) | 160 (65.0%) | 52 (60.5%) | 1097 (54.4%) | |
IMC | < 0.001 (1) | ||||||
- Median | 27.07 | 26.67 | 25.95 | 26.30 | 27.38 | 26.77 | |
- Q1, Q3 | 24.69, 29.97 | 24.20, 29.55 | 22.97, 28.70 | 23.55, 30.84 | 24.38, 30.57 | 24.22, 29.76 | |
Cirugia abdominal | 0.003 (2) | ||||||
- N-Miss | 3 | 4 | 5 | 0 | 0 | 12 | |
- no | 473 (59.4%) | 346 (58.1%) | 161 (55.5%) | 119 (48.0%) | 38 (44.2%) | 1137 (56.4%) | |
- si | 323 (40.6%) | 250 (41.9%) | 129 (44.5%) | 129 (52.0%) | 48 (55.8%) | 879 (43.6%) | |
Antecedentes de hernia | 0.012 (3) | ||||||
- N-Miss | 6 | 7 | 4 | 5 | 0 | 22 | |
- no | 783 (98.7%) | 582 (98.1%) | 280 (96.2%) | 232 (95.5%) | 84 (97.7%) | 1961 (97.8%) | |
- si | 10 (1.3%) | 11 (1.9%) | 11 (3.8%) | 11 (4.5%) | 2 (2.3%) | 45 (2.2%) | |
Colonoscopia previa incompleta | < 0.001 (3) | ||||||
- N-Miss | 9 | 12 | 8 | 1 | 1 | 31 | |
- no | 774 (98.0%) | 576 (98.0%) | 275 (95.8%) | 234 (94.7%) | 77 (90.6%) | 1936 (96.9%) | |
- si | 16 (2.0%) | 12 (2.0%) | 12 (4.2%) | 13 (5.3%) | 8 (9.4%) | 61 (3.1%) | |
Ambulatorio u hospitalizado | 0.134 (3) | ||||||
- N-Miss | 2 | 6 | 4 | 1 | 0 | 13 | |
- ambulatorio | 783 (98.2%) | 590 (99.3%) | 290 (99.7%) | 245 (99.2%) | 84 (97.7%) | 1992 (98.9%) | |
- hospitalizado | 14 (1.8%) | 4 (0.7%) | 1 (0.3%) | 2 (0.8%) | 2 (2.3%) | 23 (1.1%) | |
Indicacion de la colonoscopia | 0.316 (2) | ||||||
- N-Miss | 1 | 2 | 2 | 1 | 0 | 6 | |
- screening ccr | 353 (44.2%) | 296 (49.5%) | 140 (47.8%) | 118 (47.8%) | 40 (46.5%) | 947 (46.8%) | |
- seguimiento | 150 (18.8%) | 105 (17.6%) | 44 (15.0%) | 46 (18.6%) | 11 (12.8%) | 356 (17.6%) | |
- diagnostica | 278 (34.8%) | 192 (32.1%) | 102 (34.8%) | 80 (32.4%) | 35 (40.7%) | 687 (34.0%) | |
- terapeutica programado | 17 (2.1%) | 5 (0.8%) | 7 (2.4%) | 3 (1.2%) | 0 (0.0%) | 32 (1.6%) | |
Preparacion colonica | < 0.001 (2) | ||||||
- N-Miss | 4 | 1 | 0 | 1 | 1 | 7 | |
- barex | 437 (55.0%) | 366 (61.1%) | 199 (67.5%) | 145 (58.7%) | 36 (42.4%) | 1183 (58.5%) | |
- sulfodom | 40 (5.0%) | 89 (14.9%) | 50 (16.9%) | 48 (19.4%) | 14 (16.5%) | 241 (11.9%) | |
- fosfodom | 86 (10.8%) | 74 (12.4%) | 31 (10.5%) | 39 (15.8%) | 25 (29.4%) | 255 (12.6%) | |
- otra | 232 (29.2%) | 70 (11.7%) | 15 (5.1%) | 15 (6.1%) | 10 (11.8%) | 342 (16.9%) | |
tipo de 1° operador | < 0.001 (2) | ||||||
- N-Miss | 3 | 0 | 0 | 3 | 0 | 6 | |
- junior | 47 (5.9%) | 44 (7.3%) | 72 (24.4%) | 76 (31.0%) | 4 (4.7%) | 243 (12.0%) | |
- experto | 749 (94.1%) | 556 (92.7%) | 223 (75.6%) | 169 (69.0%) | 82 (95.3%) | 1779 (88.0%) | |
Tipo de 2° operador | < 0.001 (2) | ||||||
- N-Miss | 0 | 0 | 1 | 0 | 0 | 1 | |
- junior | 6 (0.8%) | 30 (5.0%) | 19 (6.5%) | 27 (10.9%) | 18 (20.9%) | 100 (4.9%) | |
- experto | 13 (1.6%) | 1 (0.2%) | 2 (0.7%) | 80 (32.3%) | 4 (4.7%) | 100 (4.9%) | |
- no necesario | 780 (97.6%) | 569 (94.8%) | 273 (92.9%) | 141 (56.9%) | 64 (74.4%) | 1827 (90.1%) | |
Momento de realizacion del procedimiento | < 0.001 (2) | ||||||
- N-Miss | 4 | 11 | 3 | 2 | 3 | 23 | |
- mañana | 523 (65.8%) | 353 (59.9%) | 205 (70.2%) | 185 (75.2%) | 56 (67.5%) | 1322 (65.9%) | |
- tarde | 272 (34.2%) | 236 (40.1%) | 87 (29.8%) | 61 (24.8%) | 27 (32.5%) | 683 (34.1%) | |
VEDA- VCC conjunta | < 0.001 (2) | ||||||
- N-Miss | 4 | 6 | 4 | 5 | 1 | 20 | |
- no | 433 (54.5%) | 317 (53.4%) | 208 (71.5%) | 124 (51.0%) | 45 (52.9%) | 1127 (56.1%) | |
- si | 362 (45.5%) | 277 (46.6%) | 83 (28.5%) | 119 (49.0%) | 40 (47.1%) | 881 (43.9%) | |
Boston | < 0.001 (2) | ||||||
- Bueno | 244 (30.5%) | 281 (46.8%) | 136 (46.1%) | 137 (55.2%) | 69 (80.2%) | 867 (42.8%) | |
- Excelente | 555 (69.5%) | 319 (53.2%) | 159 (53.9%) | 111 (44.8%) | 17 (19.8%) | 1161 (57.2%) |
#write2word(sum_tabla1, "C:/Users/gabyt/Downloads/CEECS 2021/taller/tabla1.doc")
#Tabla 2
tabla_vcc<-tableby(score~chisq(operators)
+chisq(restart_within_single_operator)+
+chisq(manual_pressure_more_than_five_seconds)
+chisq(ileocecal_junction_visualization)
+chisq(postural_changes),data=db_total,
numeric.stats=c("Nmiss","median","q1q3"),na.tableby(TRUE))
sum_tabla2<-summary(tabla_vcc, text=T,title = "Tabla 2. Caracteristicas tecnicas segun categorias del score ABCD" , pfootnote=TRUE,labelTranslations =mylabels, digits = 2)
sum_tabla2
1 (N=799) | 2 (N=600) | 3 (N=295) | 4 (N=248) | 5 (N=86) | Total (N=2028) | p value | |
---|---|---|---|---|---|---|---|
Cambio de endoscopista | < 0.001 (1) | ||||||
- N-Miss | 0 | 0 | 0 | 3 | 0 | 3 | |
- no | 799 (100.0%) | 600 (100.0%) | 295 (100.0%) | 147 (60.0%) | 81 (94.2%) | 1922 (94.9%) | |
- si | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 98 (40.0%) | 5 (5.8%) | 103 (5.1%) | |
Reiniciar con otro operador | < 0.001 (1) | ||||||
- N-Miss | 0 | 0 | 0 | 1 | 1 | 2 | |
- no | 799 (100.0%) | 600 (100.0%) | 295 (100.0%) | 169 (68.4%) | 72 (84.7%) | 1935 (95.5%) | |
- si | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 78 (31.6%) | 13 (15.3%) | 91 (4.5%) | |
Compresion abdominal mas de 5 seg | < 0.001 (1) | ||||||
- N-Miss | 0 | 0 | 0 | 2 | 2 | 4 | |
- no | 799 (100.0%) | 0 (0.0%) | 0 (0.0%) | 47 (19.1%) | 25 (29.8%) | 871 (43.0%) | |
- si<10 seg | 0 (0.0%) | 600 (100.0%) | 0 (0.0%) | 76 (30.9%) | 22 (26.2%) | 698 (34.5%) | |
- si>10 | 0 (0.0%) | 0 (0.0%) | 295 (100.0%) | 119 (48.4%) | 13 (15.5%) | 427 (21.1%) | |
- si,pero no se progreso | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 4 (1.6%) | 24 (28.6%) | 28 (1.4%) | |
Visualizacion del ciego | < 0.001 (1) | ||||||
- no | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 86 (100.0%) | 86 (4.2%) | |
- si | 799 (100.0%) | 600 (100.0%) | 295 (100.0%) | 248 (100.0%) | 0 (0.0%) | 1942 (95.8%) | |
Cambios posturales | < 0.001 (1) | ||||||
- no | 799 (100.0%) | 600 (100.0%) | 295 (100.0%) | 141 (56.9%) | 54 (62.8%) | 1889 (93.1%) | |
- si | 0 (0.0%) | 0 (0.0%) | 0 (0.0%) | 107 (43.1%) | 32 (37.2%) | 139 (6.9%) |
#write2word(sum_tabla2, "C:/Users/gabyt/Downloads/CEECS 2021/taller/tabla2.doc")
#Tabla desenlaces sec
tabla_sec<-tableby(score~kwt(time_entrance)+as.ordered(pain)+kwt(consumption_propofol_mg),data=db_total,
numeric.stats=c("Nmiss","median","q1q3"),na.tableby(TRUE))
sum_tabla_sec<-summary(tabla_sec, text=T,title = "Tabla 3. Desenlaces secundarios segun categorias del score ABCD" , pfootnote=TRUE,labelTranslations =mylabels, digits = 2)
sum_tabla_sec
1 (N=799) | 2 (N=600) | 3 (N=295) | 4 (N=248) | 5 (N=86) | Total (N=2028) | p value | |
---|---|---|---|---|---|---|---|
Tiempo de entrada en min | < 0.001 (1) | ||||||
- N-Miss | 3 | 6 | 2 | 3 | 1 | 15 | |
- Median | 4.17 | 4.91 | 5.50 | 6.00 | 5.33 | 4.83 | |
- Q1, Q3 | 3.00, 6.00 | 3.44, 6.58 | 3.75, 8.00 | 4.50, 8.33 | 3.50, 7.50 | 3.33, 7.00 | |
as.ordered(pain) | < 0.001 (2) | ||||||
- leve | 778 (97.4%) | 534 (89.0%) | 235 (79.7%) | 192 (77.4%) | 79 (91.9%) | 1818 (89.6%) | |
- moderado | 21 (2.6%) | 65 (10.8%) | 56 (19.0%) | 56 (22.6%) | 7 (8.1%) | 205 (10.1%) | |
- severo | 0 (0.0%) | 1 (0.2%) | 4 (1.4%) | 0 (0.0%) | 0 (0.0%) | 5 (0.2%) | |
Consumo de propofol(mg) | < 0.001 (1) | ||||||
- N-Miss | 2 | 4 | 5 | 1 | 0 | 12 | |
- Median | 200.00 | 200.00 | 200.00 | 202.00 | 183.00 | 200.00 | |
- Q1, Q3 | 170.00, 280.00 | 156.00, 224.25 | 172.50, 300.00 | 170.00, 300.00 | 150.00, 220.00 | 160.00, 250.00 |
#write2word(sum_tabla_sec, "C:/Users/gabyt/Downloads/CEECS 2021/taller/tabla3.doc")
#Evaluacion de los datos faltantes
#subset para imputar, las variables pain y propofol las vamos a usar luego como outcome sec
vis_miss(db_total,sort=TRUE)
vis_miss(db_total,cluster = TRUE)
vis_dat(db_total)
apply(is.na(db_total),2,sum)
## institution age
## 0 2
## gender height
## 14 4
## weight digestive_surgery
## 5 13
## type_digestive_surgery hernia
## 1204 39
## prior_incomplete_colonoscopy ambulatory_hospitalised
## 37 14
## indication_colonoscopy preparation
## 9 10
## other_preparation schedule
## 2111 28
## veda_vcc_conjunta time_entrance
## 39 17
## manual_pressure_more_than_five_seconds postural_changes
## 15 14
## operators first_operator_type
## 39 23
## second_operator_type third_operator_type
## 1 2100
## restart_within_single_operator another_technique
## 22 93
## type_another_technique ileocecal_junction_visualization
## 2072 16
## time_outside bbps_right
## 5 42
## bbps_transverse bbps_left
## 21 19
## sedation consumption_propofol_mg
## 70 14
## consumption_fentanyl_ug consumption_midazolam_ug
## 1141 2013
## other_findings pain_post_colonoscopy
## 605 327
## adverse_events boston_sum
## 2109 57
## boston age_cat
## 0 2
## bmi bmi_cat
## 6 6
## pain score
## 0 83
sum(is.na(db_total))#cantidad de celdas vacias
## [1] 14461
n_miss(db_total)#otra opcion
## [1] 14461
n_case_miss(db_total)#cantidad de observaciones con algun dato faltante
## [1] 2111
pct_miss_case(db_total)#proporcion de filas con algun dato faltante
## [1] 100
#subset para imputar, las variables pain, sedacion y consumo de fentanilo las vamos a dejar para una 2da instancia como outcomes secundarios
db1<-subset(db_total,select=c(age,gender,bmi,digestive_surgery,prior_incomplete_colonoscopy,hernia,institution,ambulatory_hospitalised,preparation,indication_colonoscopy,schedule,veda_vcc_conjunta,time_entrance,first_operator_type,boston,consumption_propofol_mg,pain,score))
#Datos faltantes
vis_miss(db1,sort=TRUE)
gg_miss_var(db1)#1%
aggr_plot <- aggr(db1, col=c('blue','red'), numbers=TRUE, sortVars=TRUE, labels=names(db1), cex.axis=.7, gap=3, ylab=c("Histograma de missing data","Patron"))
##
## Variables sorted by number of missings:
## Variable Count
## score 0.0393178588
## hernia 0.0184746566
## veda_vcc_conjunta 0.0184746566
## prior_incomplete_colonoscopy 0.0175272383
## schedule 0.0132638560
## first_operator_type 0.0108953103
## time_entrance 0.0080530554
## gender 0.0066319280
## ambulatory_hospitalised 0.0066319280
## consumption_propofol_mg 0.0066319280
## digestive_surgery 0.0061582189
## preparation 0.0047370914
## indication_colonoscopy 0.0042633823
## bmi 0.0028422549
## age 0.0009474183
## institution 0.0000000000
## boston 0.0000000000
## pain 0.0000000000
#veamos proporcion real de faltantes
db1_miss <- na.omit(db1)
n_inicial <- nrow(db1)
n_final <- nrow(db1_miss)
(n_inicial- n_final)/n_inicial# 11%
## [1] 0.1141639
#imputacion multiple
base_imputada <- mice (db1, m = 10,defaultMethod = c("pmm","logreg", "polyreg", "polr"), maxit = 5,printFlag = F, seed = 123)
summary(base_imputada)#genero 10 muestras con imputaciones posibles
## Class: mids
## Number of multiple imputations: 10
## Imputation methods:
## age gender
## "pmm" "logreg"
## bmi digestive_surgery
## "pmm" "logreg"
## prior_incomplete_colonoscopy hernia
## "logreg" "logreg"
## institution ambulatory_hospitalised
## "" "logreg"
## preparation indication_colonoscopy
## "polyreg" "polyreg"
## schedule veda_vcc_conjunta
## "logreg" "logreg"
## time_entrance first_operator_type
## "pmm" "logreg"
## boston consumption_propofol_mg
## "" "pmm"
## pain score
## "" "polr"
## PredictorMatrix:
## age gender bmi digestive_surgery
## age 0 1 1 1
## gender 1 0 1 1
## bmi 1 1 0 1
## digestive_surgery 1 1 1 0
## prior_incomplete_colonoscopy 1 1 1 1
## hernia 1 1 1 1
## prior_incomplete_colonoscopy hernia institution
## age 1 1 1
## gender 1 1 1
## bmi 1 1 1
## digestive_surgery 1 1 1
## prior_incomplete_colonoscopy 0 1 1
## hernia 1 0 1
## ambulatory_hospitalised preparation
## age 1 1
## gender 1 1
## bmi 1 1
## digestive_surgery 1 1
## prior_incomplete_colonoscopy 1 1
## hernia 1 1
## indication_colonoscopy schedule veda_vcc_conjunta
## age 1 1 1
## gender 1 1 1
## bmi 1 1 1
## digestive_surgery 1 1 1
## prior_incomplete_colonoscopy 1 1 1
## hernia 1 1 1
## time_entrance first_operator_type boston
## age 1 1 1
## gender 1 1 1
## bmi 1 1 1
## digestive_surgery 1 1 1
## prior_incomplete_colonoscopy 1 1 1
## hernia 1 1 1
## consumption_propofol_mg pain score
## age 1 1 1
## gender 1 1 1
## bmi 1 1 1
## digestive_surgery 1 1 1
## prior_incomplete_colonoscopy 1 1 1
## hernia 1 1 1
base_imputada$imp$score#muestra las observaciones q se imputaron
## 1 2 3 4 5 6 7 8 9 10
## 31 1 2 1 2 2 1 1 1 1 1
## 37 2 2 4 2 2 3 1 2 3 2
## 38 1 2 1 4 2 4 4 2 3 1
## 64 1 2 4 3 1 4 2 1 3 2
## 66 4 4 3 4 3 4 4 3 4 4
## 98 2 1 2 1 1 3 1 1 1 2
## 115 2 1 2 4 1 1 2 3 3 2
## 121 1 1 1 1 1 1 1 3 2 1
## 125 1 1 1 1 1 2 1 1 1 2
## 131 2 1 2 2 1 4 3 1 1 1
## 140 3 1 4 2 2 1 1 2 3 1
## 154 1 1 3 2 1 2 3 4 1 2
## 194 4 4 1 1 3 3 2 4 3 3
## 213 2 1 2 1 1 2 1 2 1 2
## 238 1 1 1 1 1 1 1 1 1 2
## 241 1 2 1 1 1 1 1 2 1 3
## 257 1 1 3 1 1 4 2 1 1 3
## 349 4 2 3 2 3 3 2 2 2 4
## 378 4 2 2 4 3 3 1 4 1 4
## 426 2 2 1 2 2 2 4 4 2 1
## 432 4 2 1 2 1 2 2 1 1 2
## 453 4 3 1 2 2 4 1 2 1 1
## 476 4 4 3 2 4 3 4 2 1 1
## 487 1 4 4 2 4 4 2 2 2 5
## 529 2 2 1 2 1 1 3 2 2 2
## 555 1 4 1 1 1 1 1 1 1 1
## 582 4 1 2 3 2 4 3 4 1 3
## 593 3 3 5 3 1 1 3 3 2 2
## 628 3 2 1 1 1 3 1 1 3 1
## 673 2 4 1 2 1 2 2 1 2 2
## 762 1 2 3 2 2 1 2 3 1 2
## 814 3 3 2 4 4 1 3 2 1 2
## 885 3 4 2 2 2 2 1 4 3 3
## 891 3 2 1 2 1 2 2 2 2 2
## 937 2 1 2 2 1 1 4 2 1 1
## 948 2 4 3 3 2 2 2 2 3 2
## 995 4 1 2 3 1 3 2 1 2 4
## 1012 2 4 2 1 3 1 1 2 1 1
## 1019 2 3 2 3 2 2 2 5 4 2
## 1045 4 1 5 3 1 4 1 5 2 4
## 1117 1 2 1 2 1 1 3 1 2 1
## 1124 4 4 3 3 2 1 4 3 2 4
## 1150 1 4 2 2 3 1 3 4 1 1
## 1220 1 2 2 2 1 2 2 1 4 2
## 1230 2 1 1 1 1 1 1 2 2 1
## 1328 1 2 2 2 2 1 3 2 1 1
## 1365 1 1 1 2 1 2 2 1 2 1
## 1388 3 1 1 1 1 3 2 2 2 2
## 1394 1 1 1 1 1 1 2 3 2 1
## 1402 4 4 3 2 2 2 2 1 4 4
## 1442 4 1 1 1 1 2 3 1 1 1
## 1460 1 2 2 4 1 2 3 4 2 2
## 1465 2 3 1 1 2 2 1 1 2 2
## 1467 4 3 2 2 4 4 3 1 2 3
## 1468 3 3 4 5 3 2 4 1 3 5
## 1478 1 3 1 1 1 3 2 3 2 2
## 1489 5 5 2 2 2 3 5 2 2 3
## 1495 3 2 2 1 1 4 5 3 4 2
## 1506 2 3 2 2 1 1 2 2 3 4
## 1518 2 1 2 2 1 2 2 1 5 1
## 1539 2 2 2 3 2 3 4 1 1 3
## 1561 1 1 1 4 1 2 1 2 1 1
## 1597 2 2 1 3 2 3 1 1 1 2
## 1598 2 3 1 2 1 1 2 4 2 5
## 1609 1 1 3 3 1 1 1 2 4 2
## 1668 1 1 1 1 1 1 1 2 3 1
## 1693 5 2 2 4 2 3 3 4 4 4
## 1752 1 1 1 1 1 1 2 4 1 1
## 1771 2 2 1 1 1 2 1 1 2 1
## 1780 2 1 1 3 1 2 2 1 1 4
## 1784 3 4 2 3 1 2 2 3 3 3
## 1800 3 1 2 2 2 2 2 2 3 4
## 1814 5 1 1 1 2 1 2 4 4 1
## 1840 1 2 1 2 1 1 3 3 2 2
## 1857 2 1 1 3 1 2 1 4 3 2
## 1858 2 1 3 3 2 1 2 1 2 1
## 1864 1 1 1 1 1 1 1 1 1 1
## 1908 3 4 1 4 3 2 4 2 3 2
## 1989 1 3 3 2 4 5 5 2 2 1
## 2021 1 3 2 4 2 4 2 2 3 4
## 2079 1 2 3 4 1 4 3 2 2 3
## 2110 1 2 1 1 1 1 2 1 1 1
## 2111 2 2 2 3 5 2 3 4 3 2
densityplot(base_imputada)
fit_ordinal <- with(base_imputada,clm(score~age+gender+bmi+prior_incomplete_colonoscopy+ambulatory_hospitalised+preparation+schedule+veda_vcc_conjunta+time_entrance+first_operator_type+boston, link = "logit"))
print(pool(fit_ordinal))
## Class: mipo m = 10
## term m estimate ubar
## 1 1|2 10 -0.816407191 1.127052e-01
## 2 2|3 10 0.636148621 1.121322e-01
## 3 3|4 10 1.582140213 1.131368e-01
## 4 4|5 10 3.184541078 1.221454e-01
## 5 age 10 0.009687813 9.747513e-06
## 6 gendermujer 10 0.543399788 7.083237e-03
## 7 bmi 10 -0.014863372 7.138722e-05
## 8 prior_incomplete_colonoscopysi 10 0.766980961 5.668907e-02
## 9 ambulatory_hospitalisedhospitalizado 10 -0.691735159 1.859350e-01
## 10 preparationsulfodom 10 0.462809617 1.633565e-02
## 11 preparationfosfodom 10 0.501435918 1.664872e-02
## 12 preparationotra 10 -0.893729977 1.659131e-02
## 13 scheduletarde 10 0.114852888 7.690895e-03
## 14 veda_vcc_conjuntasi 10 -0.026364449 7.084479e-03
## 15 time_entrance 10 0.077053635 1.356397e-04
## 16 first_operator_typeexperto 10 -1.014483655 1.666140e-02
## 17 bostonExcelente 10 -0.550907356 7.798104e-03
## b t dfcom df riv lambda fmi
## 1 4.862980e-03 1.180545e-01 2094 1372.064 0.04746257 0.04531195 0.04670052
## 2 5.288897e-03 1.179500e-01 2094 1293.442 0.05188326 0.04932416 0.05079075
## 3 5.292342e-03 1.189584e-01 2094 1300.881 0.05145608 0.04893792 0.05039674
## 4 5.612613e-03 1.283192e-01 2094 1316.858 0.05054531 0.04811340 0.04955581
## 5 5.796380e-07 1.038511e-05 2094 1077.465 0.06541174 0.06139573 0.06313314
## 6 3.054161e-04 7.419195e-03 2094 1372.657 0.04742997 0.04528224 0.04667026
## 7 2.303336e-06 7.392089e-05 2094 1598.695 0.03549193 0.03427543 0.03548131
## 8 1.938096e-03 5.882097e-02 2094 1557.764 0.03760700 0.03624398 0.03747896
## 9 1.146557e-02 1.985471e-01 2094 1042.999 0.06783083 0.06352208 0.06531267
## 10 4.416255e-04 1.682144e-02 2094 1709.715 0.02973792 0.02887911 0.03001313
## 11 4.515201e-04 1.714539e-02 2094 1707.910 0.02983246 0.02896826 0.03010337
## 12 3.959398e-04 1.702685e-02 2094 1775.383 0.02625071 0.02557924 0.02667509
## 13 3.450438e-04 8.070443e-03 2094 1338.057 0.04935033 0.04702941 0.04845063
## 14 1.740457e-04 7.275929e-03 2094 1761.004 0.02702390 0.02631282 0.02741678
## 15 5.178597e-06 1.413362e-04 2094 1473.668 0.04199697 0.04030431 0.04160412
## 16 2.568095e-04 1.694389e-02 2094 1934.237 0.01695479 0.01667212 0.01768730
## 17 3.685721e-04 8.203534e-03 2094 1291.576 0.05199076 0.04942131 0.05088986
summary(pool(fit_ordinal))
## term estimate std.error statistic
## 1 1|2 -0.816407191 0.343590564 -2.3761048
## 2 2|3 0.636148621 0.343438544 1.8522924
## 3 3|4 1.582140213 0.344903433 4.5871976
## 4 4|5 3.184541078 0.358216739 8.8899840
## 5 age 0.009687813 0.003222594 3.0062152
## 6 gendermujer 0.543399788 0.086134748 6.3087174
## 7 bmi -0.014863372 0.008597726 -1.7287562
## 8 prior_incomplete_colonoscopysi 0.766980961 0.242530354 3.1624122
## 9 ambulatory_hospitalisedhospitalizado -0.691735159 0.445586244 -1.5524159
## 10 preparationsulfodom 0.462809617 0.129697476 3.5683780
## 11 preparationfosfodom 0.501435918 0.130940398 3.8294974
## 12 preparationotra -0.893729977 0.130486955 -6.8491902
## 13 scheduletarde 0.114852888 0.089835645 1.2784779
## 14 veda_vcc_conjuntasi -0.026364449 0.085299055 -0.3090825
## 15 time_entrance 0.077053635 0.011888489 6.4813650
## 16 first_operator_typeexperto -1.014483655 0.130168698 -7.7936068
## 17 bostonExcelente -0.550907356 0.090573361 -6.0824436
## df p.value
## 1 1372.064 1.763311e-02
## 2 1293.442 6.421154e-02
## 3 1300.881 4.925607e-06
## 4 1316.858 0.000000e+00
## 5 1077.465 2.706500e-03
## 6 1372.657 3.787228e-10
## 7 1598.695 8.404580e-02
## 8 1557.764 1.594846e-03
## 9 1042.999 1.208661e-01
## 10 1709.715 3.691072e-04
## 11 1707.910 1.330432e-04
## 12 1775.383 1.020184e-11
## 13 1338.057 2.013027e-01
## 14 1761.004 7.572953e-01
## 15 1473.668 1.236469e-10
## 16 1934.237 1.065814e-14
## 17 1291.576 1.556654e-09
fit_ordinal$analyses #genero 10 modelos con las bases imputadas
## [[1]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2742.01 5518.01 5(0) 2.52e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009811 0.567388
## bmi prior_incomplete_colonoscopysi
## -0.013361 0.800790
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.709474 0.486454
## preparationfosfodom preparationotra
## 0.514967 -0.880880
## scheduletarde veda_vcc_conjuntasi
## 0.141907 -0.029486
## time_entrance first_operator_typeexperto
## 0.076982 -0.993198
## bostonExcelente
## -0.566596
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.7333 0.7123 1.6479 3.2505
##
## [[2]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2745.17 5524.35 5(0) 4.37e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009022 0.518357
## bmi prior_incomplete_colonoscopysi
## -0.017535 0.811410
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.721421 0.458274
## preparationfosfodom preparationotra
## 0.486661 -0.873759
## scheduletarde veda_vcc_conjuntasi
## 0.081206 -0.013530
## time_entrance first_operator_typeexperto
## 0.076102 -0.999192
## bostonExcelente
## -0.535375
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.9287 0.5161 1.4546 3.0749
##
## [[3]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2731.49 5496.99 5(0) 1.61e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009644 0.535361
## bmi prior_incomplete_colonoscopysi
## -0.015360 0.789259
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.620087 0.454233
## preparationfosfodom preparationotra
## 0.481183 -0.924434
## scheduletarde veda_vcc_conjuntasi
## 0.110522 -0.037570
## time_entrance first_operator_typeexperto
## 0.077926 -1.018629
## bostonExcelente
## -0.527561
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.8210 0.6317 1.5840 3.1647
##
## [[4]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2739.97 5513.94 5(0) 3.12e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009224 0.566324
## bmi prior_incomplete_colonoscopysi
## -0.013083 0.701555
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.611454 0.485646
## preparationfosfodom preparationotra
## 0.469899 -0.863308
## scheduletarde veda_vcc_conjuntasi
## 0.138007 -0.012223
## time_entrance first_operator_typeexperto
## 0.080772 -1.022900
## bostonExcelente
## -0.558602
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.7740 0.6888 1.6434 3.2529
##
## [[5]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2722.08 5478.16 5(0) 2.15e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009206 0.556520
## bmi prior_incomplete_colonoscopysi
## -0.015104 0.763771
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.673731 0.423299
## preparationfosfodom preparationotra
## 0.502803 -0.903106
## scheduletarde veda_vcc_conjuntasi
## 0.110903 -0.021087
## time_entrance first_operator_typeexperto
## 0.079425 -1.029008
## bostonExcelente
## -0.551527
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.8142 0.6327 1.5754 3.1667
##
## [[6]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2738.07 5510.13 5(0) 3.73e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009112 0.538214
## bmi prior_incomplete_colonoscopysi
## -0.015226 0.738830
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.623185 0.440412
## preparationfosfodom preparationotra
## 0.497655 -0.924492
## scheduletarde veda_vcc_conjuntasi
## 0.120674 -0.038283
## time_entrance first_operator_typeexperto
## 0.078455 -0.997073
## bostonExcelente
## -0.572033
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.8660 0.5836 1.5283 3.1469
##
## [[7]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2750.48 5534.96 5(0) 1.67e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.00889 0.51915
## bmi prior_incomplete_colonoscopysi
## -0.01640 0.74096
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.59071 0.48763
## preparationfosfodom preparationotra
## 0.48739 -0.88975
## scheduletarde veda_vcc_conjuntasi
## 0.11251 -0.03781
## time_entrance first_operator_typeexperto
## 0.07519 -1.01088
## bostonExcelente
## -0.51756
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.9204 0.5298 1.4784 3.0597
##
## [[8]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2741.09 5516.18 5(0) 3.29e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.01101 0.53665
## bmi prior_incomplete_colonoscopysi
## -0.01395 0.72067
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.86493 0.45543
## preparationfosfodom preparationotra
## 0.52278 -0.88734
## scheduletarde veda_vcc_conjuntasi
## 0.11711 -0.03344
## time_entrance first_operator_typeexperto
## 0.07562 -1.01426
## bostonExcelente
## -0.54319
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.7317 0.7203 1.6568 3.2727
##
## [[9]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2734.98 5503.95 5(0) 2.47e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.01090 0.54165
## bmi prior_incomplete_colonoscopysi
## -0.01571 0.84354
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.88924 0.46676
## preparationfosfodom preparationotra
## 0.54016 -0.89083
## scheduletarde veda_vcc_conjuntasi
## 0.09159 -0.00226
## time_entrance first_operator_typeexperto
## 0.07282 -1.01346
## bostonExcelente
## -0.56908
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.7999 0.6546 1.6190 3.2194
##
## [[10]]
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2730.32 5494.63 5(0) 2.35e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.01007 0.55438
## bmi prior_incomplete_colonoscopysi
## -0.01290 0.75902
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.61312 0.46995
## preparationfosfodom preparationotra
## 0.51087 -0.89939
## scheduletarde veda_vcc_conjuntasi
## 0.12410 -0.03795
## time_entrance first_operator_typeexperto
## 0.07725 -1.04624
## bostonExcelente
## -0.56755
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.7750 0.6917 1.6335 3.2372
fit_ordinal$analyses[[5]]# podemos elegir uno y trabajar con ese
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + ambulatory_hospitalised + preparation + schedule + veda_vcc_conjunta + time_entrance + first_operator_type + boston
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2722.08 5478.16 5(0) 2.15e-08 1.2e+06
##
## Coefficients:
## age gendermujer
## 0.009206 0.556520
## bmi prior_incomplete_colonoscopysi
## -0.015104 0.763771
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## -0.673731 0.423299
## preparationfosfodom preparationotra
## 0.502803 -0.903106
## scheduletarde veda_vcc_conjuntasi
## 0.110903 -0.021087
## time_entrance first_operator_typeexperto
## 0.079425 -1.029008
## bostonExcelente
## -0.551527
##
## Threshold coefficients:
## 1|2 2|3 3|4 4|5
## -0.8142 0.6327 1.5754 3.1667
db_imp<-complete(base_imputada,4) # o tmb podemos elegir una de las 10 bases imputadas y armar el modelo
str(db_imp)
## 'data.frame': 2111 obs. of 18 variables:
## $ age : num 60 73 42 67 67 73 35 70 47 54 ...
## $ gender : Factor w/ 2 levels "hombre","mujer": 1 1 1 2 2 1 2 1 2 1 ...
## $ bmi : num 27.8 23.6 24.2 31.9 24.6 ...
## $ digestive_surgery : Factor w/ 2 levels "no","si": 1 1 1 1 1 1 1 1 1 1 ...
## $ prior_incomplete_colonoscopy: Factor w/ 2 levels "no","si": 1 1 1 1 1 1 1 1 1 1 ...
## $ hernia : Factor w/ 2 levels "no","si": 1 2 1 1 1 1 1 1 1 1 ...
## $ institution : Factor w/ 15 levels "","Centro de Estudios Digestivos",..: 11 11 11 11 10 10 10 10 10 10 ...
## $ ambulatory_hospitalised : Factor w/ 2 levels "ambulatorio",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ preparation : Factor w/ 4 levels "barex","sulfodom",..: 4 1 4 4 1 2 1 1 1 1 ...
## $ indication_colonoscopy : Factor w/ 4 levels "screening ccr",..: 1 3 2 1 3 3 3 1 1 1 ...
## $ schedule : Factor w/ 2 levels "mañana","tarde": 1 1 1 1 2 2 2 2 2 2 ...
## $ veda_vcc_conjunta : Factor w/ 2 levels "no","si": 2 1 1 1 1 1 1 1 2 1 ...
## $ time_entrance : num 3.5 3.5 2 8 15.1 ...
## $ first_operator_type : Factor w/ 2 levels "junior","experto": 2 2 2 2 2 2 2 2 2 2 ...
## $ boston : Factor w/ 2 levels "Bueno","Excelente": 2 2 2 2 2 2 2 1 2 1 ...
## $ consumption_propofol_mg : num 300 200 280 250 200 300 220 200 350 200 ...
## $ pain : Factor w/ 3 levels "leve","moderado",..: 1 1 1 1 1 3 3 1 1 1 ...
## $ score : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 1 1 1 4 3 2 3 2 2 2 ...
vis_miss(db_imp,sort=TRUE)
p1<-ggplot(data = db_imp, mapping = aes(x=score, y=bmi))+
geom_violin(mapping = aes(fill=score))+
geom_jitter(size=1, position = position_jitter(width = 0.05))+labs(title = "IMC vs SCORE",y="IMC")+
theme(legend.position="none",axis.title = element_text(size=13,face = "bold"),axis.text = element_text(size=13))
p2<-ggplot(db_imp, aes(gender))+
geom_bar(aes(fill=score),position="dodge",width=0.7)+labs(title = "Género vs SCORE",x="",y="")+theme(axis.text = element_text(size=13))
p3<-ggplot(db_imp, aes(pain))+
geom_bar(aes(fill=score),position="dodge",width=0.7)+labs(title = "Dolor vs SCORE",x="",y="")+theme(axis.text = element_text(size=13))
p4<-ggplot(data = db_imp, mapping = aes(x=score, y=time_entrance))+
geom_violin(mapping = aes(fill=score))+
geom_jitter(size=1, position = position_jitter(width = 0.05))+labs(title = "Tiempo de entrada vs SCORE",y="")+
theme(legend.position="none",axis.title = element_text(size=13,face = "bold"),axis.text = element_text(size=13))
plot_grid(p1,p2,p3,p4)
set.seed(123)
sample <- sample(1:2111)
train_db <- sort(sample(1:nrow(db_imp), size=floor(nrow(db_imp)*(2/3))))
test_db <- setdiff(1:nrow(db_imp), train_db)
datatrain <- db_imp[train_db,]
datatest <- db_imp[test_db,]
# Construct OF prediction rule using the training dataset (default
# perffunction = "probability" corresponding to the
# (negative) ranked probability score as performance function):
ordforres <- ordfor(depvar="score", data=datatrain, nsets=1000, ntreeperdiv=100,
ntreefinal=5000, perffunction = "equal", importance = c("rps", "accuracy"))
sort(ordforres$varimp, decreasing = TRUE)
## institution preparation
## 2.317394e-02 1.469876e-02
## pain time_entrance
## 1.014448e-02 8.294402e-03
## boston consumption_propofol_mg
## 6.369444e-03 5.772367e-03
## first_operator_type bmi
## 5.448366e-03 5.024756e-03
## gender age
## 3.064250e-03 2.123310e-03
## schedule indication_colonoscopy
## 1.036556e-03 9.171245e-04
## prior_incomplete_colonoscopy veda_vcc_conjunta
## 8.787676e-04 8.414402e-04
## ambulatory_hospitalised hernia
## 2.222357e-04 7.108103e-05
## digestive_surgery
## -9.974777e-05
v<-as.vector(ordforres$varimp)
w<-(as.vector((colnames(db_imp[,-c(7,18)]))))#sacamos la var de rta y de ef aleatorios
DF<-cbind(w,v)
DF<-as.data.frame(DF)
DF<-DF %>% mutate(v=as.numeric(v),
w=as.factor(w))
ggplot(DF, aes(x=reorder(w,v), y=v,fill=w))+
geom_bar(stat="identity", position="dodge")+ coord_flip()+
ylab("Variable Importance")+
xlab("")+
theme(legend.position = "none")
ordforres$forestfinal
## Ranger result
##
## Call:
## rangerordfor(dependent.variable.name = "ymetric", data = datait, num.trees = ntreefinal, importance = ifelse(importanceinternal == "rps", "none", "permutation"), num.threads = num.threads, borders = qnorm(bordersbest[-c(1, length(bordersbest))]), mtry = mtry, min.node.size = min.node.size, replace = replace, sample.fraction = sample.fraction, always.split.variables = always.split.variables, keep.inbag = keep.inbag)
##
## Type: Regression
## Number of trees: 5000
## Sample size: 1407
## Number of independent variables: 17
## Mtry: 4
## Target node size: 5
## Variable importance mode: none
## Splitrule: variance
## OOB prediction error (MSE): 0.2639955
## R squared (OOB): 0.198138
#ECM del ordinal forest 0.26
#Modelo: introducimos una variable de efectos aleatorios:institucion
model1 <- clmm(score~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+preparation+schedule+veda_vcc_conjunta+time_entrance+first_operator_type+boston+pain+consumption_propofol_mg + (1|institution),data=db_imp, Hess=T)
summary(model1)
## Cumulative Link Mixed Model fitted with the Laplace approximation
##
## formula:
## score ~ age + gender + bmi + digestive_surgery + prior_incomplete_colonoscopy +
## hernia + ambulatory_hospitalised + preparation + schedule +
## veda_vcc_conjunta + time_entrance + first_operator_type +
## boston + pain + consumption_propofol_mg + (1 | institution)
## data: db_imp
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2630.19 5306.39 2966(8908) 6.02e-02 3.0e+06
##
## Random effects:
## Groups Name Variance Std.Dev.
## institution (Intercept) 0.7179 0.8473
## Number of groups: institution 15
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## age 0.0105968 0.0032929 3.218 0.001290 **
## gendermujer 0.5642618 0.0882917 6.391 1.65e-10 ***
## bmi -0.0189089 0.0087236 -2.168 0.030193 *
## digestive_surgerysi 0.0896264 0.0890721 1.006 0.314308
## prior_incomplete_colonoscopysi 0.5388540 0.2434102 2.214 0.026845 *
## herniasi 0.5235816 0.2705529 1.935 0.052962 .
## ambulatory_hospitalisedhospitalizado -0.1863637 0.4366797 -0.427 0.669544
## preparationsulfodom 0.2159312 0.1497043 1.442 0.149194
## preparationfosfodom 0.1255666 0.2186189 0.574 0.565722
## preparationotra -0.2174610 0.1721974 -1.263 0.206640
## scheduletarde 0.3453170 0.0981284 3.519 0.000433 ***
## veda_vcc_conjuntasi 0.0573270 0.0876782 0.654 0.513219
## time_entrance 0.0467090 0.0121136 3.856 0.000115 ***
## first_operator_typeexperto -0.6303601 0.1492341 -4.224 2.40e-05 ***
## bostonExcelente -0.3731071 0.0978637 -3.813 0.000138 ***
## painmoderado 0.7072724 0.1480344 4.778 1.77e-06 ***
## painsevero 0.2935123 0.7044343 0.417 0.676924
## consumption_propofol_mg 0.0028458 0.0006159 4.621 3.82e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Threshold coefficients:
## Estimate Std. Error z value
## 1|2 0.3746 0.4405 0.850
## 2|3 2.0089 0.4427 4.538
## 3|4 3.0338 0.4455 6.811
## 4|5 4.7055 0.4568 10.302
exp(coef(model1))
## 1|2 2|3
## 1.4543558 7.4554220
## 3|4 4|5
## 20.7760620 110.5567899
## age gendermujer
## 1.0106532 1.7581494
## bmi digestive_surgerysi
## 0.9812688 1.0937656
## prior_incomplete_colonoscopysi herniasi
## 1.7140415 1.6880629
## ambulatory_hospitalisedhospitalizado preparationsulfodom
## 0.8299717 1.2410170
## preparationfosfodom preparationotra
## 1.1337906 0.8045589
## scheduletarde veda_vcc_conjuntasi
## 1.4124376 1.0590020
## time_entrance first_operator_typeexperto
## 1.0478170 0.5324001
## bostonExcelente painmoderado
## 0.6885915 2.0284508
## painsevero consumption_propofol_mg
## 1.3411297 1.0028499
exp(confint(model1))
## 2.5 % 97.5 %
## 1|2 0.6133562 3.4484870
## 2|3 3.1307529 17.7539777
## 3|4 8.6774588 49.7432208
## 4|5 45.1639081 270.6321111
## age 1.0041515 1.0171969
## gendermujer 1.4787738 2.0903057
## bmi 0.9646336 0.9981907
## digestive_surgerysi 0.9185566 1.3023945
## prior_incomplete_colonoscopysi 1.0637271 2.7619287
## herniasi 0.9933301 2.8686901
## ambulatory_hospitalisedhospitalizado 0.3526638 1.9532852
## preparationsulfodom 0.9254420 1.6642030
## preparationfosfodom 0.7386592 1.7402900
## preparationotra 0.5740942 1.1275416
## scheduletarde 1.1653120 1.7119708
## veda_vcc_conjuntasi 0.8917948 1.2575598
## time_entrance 1.0232325 1.0729922
## first_operator_typeexperto 0.3973835 0.7132905
## bostonExcelente 0.5684076 0.8341870
## painmoderado 1.5176002 2.7112626
## painsevero 0.3371749 5.3344093
## consumption_propofol_mg 1.0016400 1.0040611
sf <- function(y){
c('y>=1' = qlogis(mean(y >= 1)),
'y>=2' = qlogis(mean(y >= 2)),
'y>=3' = qlogis(mean(y >= 3)),
'y>=4' = qlogis(mean(y >= 4)),
'y>=5' = qlogis(mean(y >= 5)))
}
supuestos_model1 <- with(db_imp,summary(as.numeric(score) ~ age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+preparation+schedule+veda_vcc_conjunta+time_entrance+first_operator_type+boston+pain+consumption_propofol_mg, fun=sf))
supuestos_model1
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | | | N|y>=1| y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | age| [18, 50)| 532| Inf| 0.35713146|-0.9255195|-1.8870696|-3.610918|
## | | [50, 59)| 538| Inf| 0.40701430|-0.9046099|-1.7302342|-2.902206|
## | | [59, 69)| 527| Inf| 0.27883246|-0.9403239|-1.5274429|-3.463781|
## | | [69,101]| 514| Inf| 0.77603484|-0.4265869|-1.4083271|-2.816853|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | gender| hombre| 965| Inf| 0.09333194|-1.1847629|-1.8959288|-3.309899|
## | | mujer|1146| Inf| 0.76872986|-0.5061745|-1.4372467|-3.026390|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | bmi| [15.2,24.2)| 543| Inf| 0.76870759|-0.4688067|-1.4640721|-3.164708|
## | | [24.2,26.8)| 515| Inf| 0.31719613|-0.9951152|-1.8169037|-3.506558|
## | | [26.8,29.7)| 527| Inf| 0.30985593|-0.9974163|-1.9095425|-2.999724|
## | | [29.7,64.5]| 526| Inf| 0.40071451|-0.7653286|-1.4006144|-2.997730|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | digestive_surgery| no|1199| Inf| 0.36945014|-0.9391723|-1.8422903|-3.392614|
## | | si| 912| Inf| 0.55315999|-0.6151856|-1.3890378|-2.890372|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0.43158904|-0.8266786|-1.6674165|-3.215325|
## | | si| 64| Inf| 1.01693426| 0.1251631|-0.7166777|-1.945910|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | hernia| no|2063| Inf| 0.43219817|-0.8195215|-1.6513196|-3.147190|
## | | si| 48| Inf| 1.21302264| 0.1670541|-0.8873032|-3.135494|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0.45725272|-0.7911071|-1.6296991|-3.159251|
## | |hospitalizado| 24| Inf|-0.33647224|-1.0986123|-1.6094379|-2.397895|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | preparation| barex|1227| Inf| 0.54619277|-0.7449467|-1.7033040|-3.499030|
## | | sulfodom| 257| Inf| 1.66170634|-0.1168643|-1.0423315|-2.780888|
## | | fosfodom| 267| Inf| 0.65962449|-0.5449312|-1.1543229|-2.270062|
## | | otra| 360| Inf|-0.70567344|-1.9977017|-2.5530445|-3.457177|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | schedule| mañana|1384| Inf| 0.44658336|-0.6715481|-1.5071713|-3.129479|
## | | tarde| 727| Inf| 0.45037766|-1.0461115|-1.8950125|-3.180923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | veda_vcc_conjunta| no|1187| Inf| 0.48261690|-0.6805367|-1.7349315|-3.211019|
## | | si| 924| Inf| 0.40366168|-0.9483301|-1.5040774|-3.069753|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | time_entrance|[0.617, 3.37)| 561| Inf|-0.04635411|-1.3121864|-2.1795250|-3.350827|
## | |[3.367, 4.85)| 495| Inf| 0.34687094|-1.0638959|-1.9072250|-3.167583|
## | |[4.850, 7.00)| 529| Inf| 0.61198377|-0.7130625|-1.5063895|-3.046505|
## | |[7.000,38.80]| 526| Inf| 0.96606563|-0.1983665|-1.1241239|-3.040546|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | first_operator_type| junior| 249| Inf| 1.43210390| 0.5172565|-0.7112746|-4.114964|
## | | experto|1862| Inf| 0.33831386|-0.9993689|-1.8005590|-3.064966|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | boston| Bueno| 904| Inf| 0.95612419|-0.4082314|-1.1768477|-2.493325|
## | | Excelente|1207| Inf| 0.10448601|-1.1241834|-2.0887961|-4.190496|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | pain| leve|1896| Inf| 0.31264870|-0.9441477|-1.7529196|-3.122365|
## | | moderado| 210| Inf| 2.14539951| 0.3266842|-0.7801586|-3.367296|
## | | severo| 5| Inf| Inf| 1.3862944| -Inf| -Inf|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0.54654371|-0.8561318|-1.6637499|-2.833213|
## | | [162,202)| 773| Inf| 0.54338825|-0.9217305|-1.8503278|-3.175362|
## | | [202,260)| 282| Inf| 0.15634607|-0.9614112|-1.4868356|-3.533687|
## | | [260,800]| 516| Inf| 0.36845364|-0.4737844|-1.3887186|-3.320228|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | Overall| |2111| Inf| 0.44788971|-0.7943896|-1.6294672|-3.146923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
supuestos_model1[, 6] <- supuestos_model1[, 6] - supuestos_model1[, 5]
supuestos_model1[, 5] <- supuestos_model1[, 5] - supuestos_model1[, 4]
supuestos_model1[, 4] <- supuestos_model1[, 4] - supuestos_model1[, 3]
supuestos_model1[, 3] <- supuestos_model1[, 3] - supuestos_model1[, 3]
supuestos_model1
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | | | N|y>=1|y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | age| [18, 50)| 532| Inf| 0|-1.2826510|-0.9615501|-1.7238483|
## | | [50, 59)| 538| Inf| 0|-1.3116242|-0.8256244|-1.1719720|
## | | [59, 69)| 527| Inf| 0|-1.2191564|-0.5871190|-1.9363379|
## | | [69,101]| 514| Inf| 0|-1.2026218|-0.9817401|-1.4085260|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | gender| hombre| 965| Inf| 0|-1.2780949|-0.7111659|-1.4139700|
## | | mujer|1146| Inf| 0|-1.2749043|-0.9310722|-1.5891429|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | bmi| [15.2,24.2)| 543| Inf| 0|-1.2375143|-0.9952653|-1.7006355|
## | | [24.2,26.8)| 515| Inf| 0|-1.3123113|-0.8217884|-1.6896542|
## | | [26.8,29.7)| 527| Inf| 0|-1.3072722|-0.9121262|-1.0901818|
## | | [29.7,64.5]| 526| Inf| 0|-1.1660431|-0.6352858|-1.5971159|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | digestive_surgery| no|1199| Inf| 0|-1.3086225|-0.9031179|-1.5503234|
## | | si| 912| Inf| 0|-1.1683456|-0.7738522|-1.5013339|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0|-1.2582676|-0.8407379|-1.5479087|
## | | si| 64| Inf| 0|-0.8917711|-0.8418408|-1.2292325|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | hernia| no|2063| Inf| 0|-1.2517197|-0.8317981|-1.4958707|
## | | si| 48| Inf| 0|-1.0459686|-1.0543573|-2.2481910|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0|-1.2483598|-0.8385920|-1.5295516|
## | |hospitalizado| 24| Inf| 0|-0.7621401|-0.5108256|-0.7884574|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | preparation| barex|1227| Inf| 0|-1.2911394|-0.9583574|-1.7957256|
## | | sulfodom| 257| Inf| 0|-1.7785707|-0.9254671|-1.7385561|
## | | fosfodom| 267| Inf| 0|-1.2045557|-0.6093917|-1.1157390|
## | | otra| 360| Inf| 0|-1.2920282|-0.5553428|-0.9041322|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | schedule| mañana|1384| Inf| 0|-1.1181314|-0.8356233|-1.6223078|
## | | tarde| 727| Inf| 0|-1.4964892|-0.8489010|-1.2859108|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | veda_vcc_conjunta| no|1187| Inf| 0|-1.1631536|-1.0543948|-1.4760875|
## | | si| 924| Inf| 0|-1.3519918|-0.5557473|-1.5656757|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | time_entrance|[0.617, 3.37)| 561| Inf| 0|-1.2658323|-0.8673386|-1.1713020|
## | |[3.367, 4.85)| 495| Inf| 0|-1.4107668|-0.8433292|-1.2603575|
## | |[4.850, 7.00)| 529| Inf| 0|-1.3250463|-0.7933270|-1.5401151|
## | |[7.000,38.80]| 526| Inf| 0|-1.1644322|-0.9257573|-1.9164224|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | first_operator_type| junior| 249| Inf| 0|-0.9148474|-1.2285311|-3.4036893|
## | | experto|1862| Inf| 0|-1.3376828|-0.8011901|-1.2644071|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | boston| Bueno| 904| Inf| 0|-1.3643556|-0.7686163|-1.3164776|
## | | Excelente|1207| Inf| 0|-1.2286695|-0.9646127|-2.1017000|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | pain| leve|1896| Inf| 0|-1.2567964|-0.8087719|-1.3694453|
## | | moderado| 210| Inf| 0|-1.8187153|-1.1068428|-2.5871373|
## | | severo| 5| Inf| | -Inf| -Inf| |
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0|-1.4026755|-0.8076181|-1.1694634|
## | | [162,202)| 773| Inf| 0|-1.4651187|-0.9285974|-1.3250342|
## | | [202,260)| 282| Inf| 0|-1.1177572|-0.5254244|-2.0468510|
## | | [260,800]| 516| Inf| 0|-0.8422380|-0.9149343|-1.9315097|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | Overall| |2111| Inf| 0|-1.2422793|-0.8350776|-1.5174557|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
plot(supuestos_model1, which=1:5,pch=1:5,xlab='logit', main=' ', xlim=range(supuestos_model1[,3:6],finite=T))
#hace un grafico por variable, otra forma de chequear supuestos
plot(pomcheck(score~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+ambulatory_hospitalised+preparation+schedule+veda_vcc_conjunta+time_entrance+first_operator_type+boston, data=db_imp[,-7]))
Vemos otro modelo (2) sacando las variables VEDA/vcc conjunta y preparation segun ordinalforest
model2 <- clmm(score~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+ schedule +time_entrance+first_operator_type+boston+pain+consumption_propofol_mg + (1|institution),data=db_imp, Hess=T )
summary(model2)
## Cumulative Link Mixed Model fitted with the Laplace approximation
##
## formula:
## score ~ age + gender + bmi + digestive_surgery + prior_incomplete_colonoscopy +
## hernia + ambulatory_hospitalised + schedule + time_entrance +
## first_operator_type + boston + pain + consumption_propofol_mg +
## (1 | institution)
## data: db_imp
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2632.69 5303.39 2293(6891) 1.31e-01 2.9e+06
##
## Random effects:
## Groups Name Variance Std.Dev.
## institution (Intercept) 0.8078 0.8988
## Number of groups: institution 15
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## age 0.0109266 0.0032651 3.346 0.000819 ***
## gendermujer 0.5777703 0.0878123 6.580 4.72e-11 ***
## bmi -0.0187299 0.0087018 -2.152 0.031365 *
## digestive_surgerysi 0.0858313 0.0889481 0.965 0.334565
## prior_incomplete_colonoscopysi 0.5220291 0.2427858 2.150 0.031542 *
## herniasi 0.5344718 0.2705275 1.976 0.048193 *
## ambulatory_hospitalisedhospitalizado -0.1411367 0.4366008 -0.323 0.746496
## scheduletarde 0.3324472 0.0978753 3.397 0.000682 ***
## time_entrance 0.0468492 0.0121241 3.864 0.000111 ***
## first_operator_typeexperto -0.6498313 0.1470056 -4.420 9.85e-06 ***
## bostonExcelente -0.3835957 0.0976899 -3.927 8.61e-05 ***
## painmoderado 0.6755501 0.1461668 4.622 3.80e-06 ***
## painsevero 0.3143450 0.7013534 0.448 0.654011
## consumption_propofol_mg 0.0028905 0.0006155 4.696 2.65e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Threshold coefficients:
## Estimate Std. Error z value
## 1|2 0.3425 0.4390 0.780
## 2|3 1.9744 0.4411 4.476
## 3|4 2.9981 0.4437 6.757
## 4|5 4.6699 0.4549 10.266
exp(confint(model2))
## 2.5 % 97.5 %
## 1|2 0.5957967 3.3295614
## 2|3 3.0341101 17.0960921
## 3|4 8.4021180 47.8313237
## 4|5 43.7450025 260.2063735
## age 1.0045373 1.0174771
## gendermujer 1.5002944 2.1167446
## bmi 0.9648476 0.9983267
## digestive_surgerysi 0.9152997 1.2971457
## prior_incomplete_colonoscopysi 1.0472605 2.7125267
## herniasi 1.0042567 2.8999568
## ambulatory_hospitalisedhospitalizado 0.3690370 2.0433387
## scheduletarde 1.1509817 1.6892407
## time_entrance 1.0233551 1.0731647
## first_operator_typeexperto 0.3914267 0.6964873
## bostonExcelente 0.5626686 0.8252020
## painmoderado 1.4756055 2.6170084
## painsevero 0.3463580 5.4139147
## consumption_propofol_mg 1.0016856 1.0041052
sf2 <- function(y){
c('y>=1' = qlogis(mean(y >= 1)),
'y>=2' = qlogis(mean(y >= 2)),
'y>=3' = qlogis(mean(y >= 3)),
'y>=4' = qlogis(mean(y >= 4)),
'y>=5' = qlogis(mean(y >= 5)))
}
supuestos_model2 <- with(db_imp,summary(as.numeric(score) ~ age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+schedule+time_entrance+first_operator_type+boston+pain+consumption_propofol_mg, fun=sf2))
supuestos_model2
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | | | N|y>=1| y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | age| [18, 50)| 532| Inf| 0.35713146|-0.9255195|-1.8870696|-3.610918|
## | | [50, 59)| 538| Inf| 0.40701430|-0.9046099|-1.7302342|-2.902206|
## | | [59, 69)| 527| Inf| 0.27883246|-0.9403239|-1.5274429|-3.463781|
## | | [69,101]| 514| Inf| 0.77603484|-0.4265869|-1.4083271|-2.816853|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | gender| hombre| 965| Inf| 0.09333194|-1.1847629|-1.8959288|-3.309899|
## | | mujer|1146| Inf| 0.76872986|-0.5061745|-1.4372467|-3.026390|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | bmi| [15.2,24.2)| 543| Inf| 0.76870759|-0.4688067|-1.4640721|-3.164708|
## | | [24.2,26.8)| 515| Inf| 0.31719613|-0.9951152|-1.8169037|-3.506558|
## | | [26.8,29.7)| 527| Inf| 0.30985593|-0.9974163|-1.9095425|-2.999724|
## | | [29.7,64.5]| 526| Inf| 0.40071451|-0.7653286|-1.4006144|-2.997730|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | digestive_surgery| no|1199| Inf| 0.36945014|-0.9391723|-1.8422903|-3.392614|
## | | si| 912| Inf| 0.55315999|-0.6151856|-1.3890378|-2.890372|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0.43158904|-0.8266786|-1.6674165|-3.215325|
## | | si| 64| Inf| 1.01693426| 0.1251631|-0.7166777|-1.945910|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | hernia| no|2063| Inf| 0.43219817|-0.8195215|-1.6513196|-3.147190|
## | | si| 48| Inf| 1.21302264| 0.1670541|-0.8873032|-3.135494|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0.45725272|-0.7911071|-1.6296991|-3.159251|
## | |hospitalizado| 24| Inf|-0.33647224|-1.0986123|-1.6094379|-2.397895|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | schedule| mañana|1384| Inf| 0.44658336|-0.6715481|-1.5071713|-3.129479|
## | | tarde| 727| Inf| 0.45037766|-1.0461115|-1.8950125|-3.180923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | time_entrance|[0.617, 3.37)| 561| Inf|-0.04635411|-1.3121864|-2.1795250|-3.350827|
## | |[3.367, 4.85)| 495| Inf| 0.34687094|-1.0638959|-1.9072250|-3.167583|
## | |[4.850, 7.00)| 529| Inf| 0.61198377|-0.7130625|-1.5063895|-3.046505|
## | |[7.000,38.80]| 526| Inf| 0.96606563|-0.1983665|-1.1241239|-3.040546|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | first_operator_type| junior| 249| Inf| 1.43210390| 0.5172565|-0.7112746|-4.114964|
## | | experto|1862| Inf| 0.33831386|-0.9993689|-1.8005590|-3.064966|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | boston| Bueno| 904| Inf| 0.95612419|-0.4082314|-1.1768477|-2.493325|
## | | Excelente|1207| Inf| 0.10448601|-1.1241834|-2.0887961|-4.190496|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | pain| leve|1896| Inf| 0.31264870|-0.9441477|-1.7529196|-3.122365|
## | | moderado| 210| Inf| 2.14539951| 0.3266842|-0.7801586|-3.367296|
## | | severo| 5| Inf| Inf| 1.3862944| -Inf| -Inf|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0.54654371|-0.8561318|-1.6637499|-2.833213|
## | | [162,202)| 773| Inf| 0.54338825|-0.9217305|-1.8503278|-3.175362|
## | | [202,260)| 282| Inf| 0.15634607|-0.9614112|-1.4868356|-3.533687|
## | | [260,800]| 516| Inf| 0.36845364|-0.4737844|-1.3887186|-3.320228|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | Overall| |2111| Inf| 0.44788971|-0.7943896|-1.6294672|-3.146923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
supuestos_model2[, 6] <- supuestos_model2[, 6] - supuestos_model2[, 5]
supuestos_model2[, 5] <- supuestos_model2[, 5] - supuestos_model2[, 4]
supuestos_model2[, 4] <- supuestos_model2[, 4] - supuestos_model2[, 3]
supuestos_model2[, 3] <- supuestos_model2[, 3] - supuestos_model2[, 3]
supuestos_model2
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | | | N|y>=1|y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | age| [18, 50)| 532| Inf| 0|-1.2826510|-0.9615501|-1.7238483|
## | | [50, 59)| 538| Inf| 0|-1.3116242|-0.8256244|-1.1719720|
## | | [59, 69)| 527| Inf| 0|-1.2191564|-0.5871190|-1.9363379|
## | | [69,101]| 514| Inf| 0|-1.2026218|-0.9817401|-1.4085260|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | gender| hombre| 965| Inf| 0|-1.2780949|-0.7111659|-1.4139700|
## | | mujer|1146| Inf| 0|-1.2749043|-0.9310722|-1.5891429|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | bmi| [15.2,24.2)| 543| Inf| 0|-1.2375143|-0.9952653|-1.7006355|
## | | [24.2,26.8)| 515| Inf| 0|-1.3123113|-0.8217884|-1.6896542|
## | | [26.8,29.7)| 527| Inf| 0|-1.3072722|-0.9121262|-1.0901818|
## | | [29.7,64.5]| 526| Inf| 0|-1.1660431|-0.6352858|-1.5971159|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | digestive_surgery| no|1199| Inf| 0|-1.3086225|-0.9031179|-1.5503234|
## | | si| 912| Inf| 0|-1.1683456|-0.7738522|-1.5013339|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0|-1.2582676|-0.8407379|-1.5479087|
## | | si| 64| Inf| 0|-0.8917711|-0.8418408|-1.2292325|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | hernia| no|2063| Inf| 0|-1.2517197|-0.8317981|-1.4958707|
## | | si| 48| Inf| 0|-1.0459686|-1.0543573|-2.2481910|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0|-1.2483598|-0.8385920|-1.5295516|
## | |hospitalizado| 24| Inf| 0|-0.7621401|-0.5108256|-0.7884574|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | schedule| mañana|1384| Inf| 0|-1.1181314|-0.8356233|-1.6223078|
## | | tarde| 727| Inf| 0|-1.4964892|-0.8489010|-1.2859108|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | time_entrance|[0.617, 3.37)| 561| Inf| 0|-1.2658323|-0.8673386|-1.1713020|
## | |[3.367, 4.85)| 495| Inf| 0|-1.4107668|-0.8433292|-1.2603575|
## | |[4.850, 7.00)| 529| Inf| 0|-1.3250463|-0.7933270|-1.5401151|
## | |[7.000,38.80]| 526| Inf| 0|-1.1644322|-0.9257573|-1.9164224|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | first_operator_type| junior| 249| Inf| 0|-0.9148474|-1.2285311|-3.4036893|
## | | experto|1862| Inf| 0|-1.3376828|-0.8011901|-1.2644071|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | boston| Bueno| 904| Inf| 0|-1.3643556|-0.7686163|-1.3164776|
## | | Excelente|1207| Inf| 0|-1.2286695|-0.9646127|-2.1017000|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | pain| leve|1896| Inf| 0|-1.2567964|-0.8087719|-1.3694453|
## | | moderado| 210| Inf| 0|-1.8187153|-1.1068428|-2.5871373|
## | | severo| 5| Inf| | -Inf| -Inf| |
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0|-1.4026755|-0.8076181|-1.1694634|
## | | [162,202)| 773| Inf| 0|-1.4651187|-0.9285974|-1.3250342|
## | | [202,260)| 282| Inf| 0|-1.1177572|-0.5254244|-2.0468510|
## | | [260,800]| 516| Inf| 0|-0.8422380|-0.9149343|-1.9315097|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | Overall| |2111| Inf| 0|-1.2422793|-0.8350776|-1.5174557|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
plot(supuestos_model2, which=1:5,pch=1:5,xlab='logit', main=' ', xlim=range(supuestos_model2[,3:6], finite=T))
Modelo (3) sin las variables VEDA/vcc conjunta, preparation, cirugia digestiva
model3 <- clmm(score~age+gender+bmi+prior_incomplete_colonoscopy+schedule+first_operator_type+boston+pain+hernia+time_entrance+ambulatory_hospitalised+consumption_propofol_mg+(1|institution),data=db_imp)
summary(model3)
## Cumulative Link Mixed Model fitted with the Laplace approximation
##
## formula:
## score ~ age + gender + bmi + prior_incomplete_colonoscopy + schedule +
## first_operator_type + boston + pain + hernia + time_entrance +
## ambulatory_hospitalised + consumption_propofol_mg + (1 | institution)
## data: db_imp
##
## link threshold nobs logLik AIC niter max.grad cond.H
## logit flexible 2111 -2633.16 5302.32 2158(6486) 1.62e-02 2.9e+06
##
## Random effects:
## Groups Name Variance Std.Dev.
## institution (Intercept) 0.8073 0.8985
## Number of groups: institution 15
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## age 0.011334 0.003238 3.501 0.000464 ***
## gendermujer 0.596254 0.085718 6.956 3.50e-12 ***
## bmi -0.017995 0.008665 -2.077 0.037829 *
## prior_incomplete_colonoscopysi 0.530696 0.242714 2.187 0.028779 *
## scheduletarde 0.324207 0.097489 3.326 0.000882 ***
## first_operator_typeexperto -0.657845 0.146766 -4.482 7.38e-06 ***
## bostonExcelente -0.382784 0.097677 -3.919 8.90e-05 ***
## painmoderado 0.683620 0.145965 4.683 2.82e-06 ***
## painsevero 0.304987 0.700005 0.436 0.663060
## herniasi 0.546835 0.270722 2.020 0.043392 *
## time_entrance 0.047036 0.012119 3.881 0.000104 ***
## ambulatory_hospitalisedhospitalizado -0.146329 0.436350 -0.335 0.737364
## consumption_propofol_mg 0.002852 0.000614 4.644 3.41e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Threshold coefficients:
## Estimate Std. Error z value
## 1|2 0.3445 0.4389 0.785
## 2|3 1.9760 0.4410 4.481
## 3|4 2.9994 0.4436 6.761
## 4|5 4.6708 0.4548 10.269
exp(coef(model3))
## 1|2 2|3
## 1.4113303 7.2137073
## 3|4 4|5
## 20.0729810 106.7848106
## age gendermujer
## 1.0113989 1.8153066
## bmi prior_incomplete_colonoscopysi
## 0.9821659 1.7001151
## scheduletarde first_operator_typeexperto
## 1.3829336 0.5179664
## bostonExcelente painmoderado
## 0.6819603 1.9810364
## painsevero herniasi
## 1.3566071 1.7277765
## time_entrance ambulatory_hospitalisedhospitalizado
## 1.0481600 0.8638739
## consumption_propofol_mg
## 1.0028558
exp(confint(model3))
## 2.5 % 97.5 %
## 1|2 0.5970799 3.3359913
## 2|3 3.0392452 17.1218737
## 3|4 8.4137474 47.8888358
## 4|5 43.7865601 260.4222791
## age 1.0050009 1.0178376
## gendermujer 1.5345698 2.1474019
## bmi 0.9656262 0.9989889
## prior_incomplete_colonoscopysi 1.0565247 2.7357538
## scheduletarde 1.1424005 1.6741111
## first_operator_typeexperto 0.3884852 0.6906034
## bostonExcelente 0.5631402 0.8258510
## painmoderado 1.4881507 2.6371694
## painsevero 0.3440400 5.3493279
## herniasi 1.0163625 2.9371525
## time_entrance 1.0235561 1.0733553
## ambulatory_hospitalisedhospitalizado 0.3673062 2.0317604
## consumption_propofol_mg 1.0016496 1.0040633
sf3 <- function(y){
c('y>=1' = qlogis(mean(y >= 1)),
'y>=2' = qlogis(mean(y >= 2)),
'y>=3' = qlogis(mean(y >= 3)),
'y>=4' = qlogis(mean(y >= 4)),
'y>=5' = qlogis(mean(y >= 5)))
}
supuestos_model3 <- with(db_imp,summary(as.numeric(score) ~ age+gender+bmi+prior_incomplete_colonoscopy+ambulatory_hospitalised+schedule+first_operator_type+boston+pain+hernia+time_entrance+consumption_propofol_mg, fun=sf3))
supuestos_model3
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | | | N|y>=1| y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | age| [18, 50)| 532| Inf| 0.35713146|-0.9255195|-1.8870696|-3.610918|
## | | [50, 59)| 538| Inf| 0.40701430|-0.9046099|-1.7302342|-2.902206|
## | | [59, 69)| 527| Inf| 0.27883246|-0.9403239|-1.5274429|-3.463781|
## | | [69,101]| 514| Inf| 0.77603484|-0.4265869|-1.4083271|-2.816853|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | gender| hombre| 965| Inf| 0.09333194|-1.1847629|-1.8959288|-3.309899|
## | | mujer|1146| Inf| 0.76872986|-0.5061745|-1.4372467|-3.026390|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | bmi| [15.2,24.2)| 543| Inf| 0.76870759|-0.4688067|-1.4640721|-3.164708|
## | | [24.2,26.8)| 515| Inf| 0.31719613|-0.9951152|-1.8169037|-3.506558|
## | | [26.8,29.7)| 527| Inf| 0.30985593|-0.9974163|-1.9095425|-2.999724|
## | | [29.7,64.5]| 526| Inf| 0.40071451|-0.7653286|-1.4006144|-2.997730|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0.43158904|-0.8266786|-1.6674165|-3.215325|
## | | si| 64| Inf| 1.01693426| 0.1251631|-0.7166777|-1.945910|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0.45725272|-0.7911071|-1.6296991|-3.159251|
## | |hospitalizado| 24| Inf|-0.33647224|-1.0986123|-1.6094379|-2.397895|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | schedule| mañana|1384| Inf| 0.44658336|-0.6715481|-1.5071713|-3.129479|
## | | tarde| 727| Inf| 0.45037766|-1.0461115|-1.8950125|-3.180923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | first_operator_type| junior| 249| Inf| 1.43210390| 0.5172565|-0.7112746|-4.114964|
## | | experto|1862| Inf| 0.33831386|-0.9993689|-1.8005590|-3.064966|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | boston| Bueno| 904| Inf| 0.95612419|-0.4082314|-1.1768477|-2.493325|
## | | Excelente|1207| Inf| 0.10448601|-1.1241834|-2.0887961|-4.190496|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | pain| leve|1896| Inf| 0.31264870|-0.9441477|-1.7529196|-3.122365|
## | | moderado| 210| Inf| 2.14539951| 0.3266842|-0.7801586|-3.367296|
## | | severo| 5| Inf| Inf| 1.3862944| -Inf| -Inf|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | hernia| no|2063| Inf| 0.43219817|-0.8195215|-1.6513196|-3.147190|
## | | si| 48| Inf| 1.21302264| 0.1670541|-0.8873032|-3.135494|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | time_entrance|[0.617, 3.37)| 561| Inf|-0.04635411|-1.3121864|-2.1795250|-3.350827|
## | |[3.367, 4.85)| 495| Inf| 0.34687094|-1.0638959|-1.9072250|-3.167583|
## | |[4.850, 7.00)| 529| Inf| 0.61198377|-0.7130625|-1.5063895|-3.046505|
## | |[7.000,38.80]| 526| Inf| 0.96606563|-0.1983665|-1.1241239|-3.040546|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0.54654371|-0.8561318|-1.6637499|-2.833213|
## | | [162,202)| 773| Inf| 0.54338825|-0.9217305|-1.8503278|-3.175362|
## | | [202,260)| 282| Inf| 0.15634607|-0.9614112|-1.4868356|-3.533687|
## | | [260,800]| 516| Inf| 0.36845364|-0.4737844|-1.3887186|-3.320228|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
## | Overall| |2111| Inf| 0.44788971|-0.7943896|-1.6294672|-3.146923|
## +----------------------------+-------------+----+----+-----------+----------+----------+---------+
supuestos_model3[, 6] <- supuestos_model3[, 6] - supuestos_model3[, 5]
supuestos_model3[, 5] <- supuestos_model3[, 5] - supuestos_model3[, 4]
supuestos_model3[, 4] <- supuestos_model3[, 4] - supuestos_model3[, 3]
supuestos_model3[, 3] <- supuestos_model3[, 3] - supuestos_model3[, 3]
supuestos_model3
## as.numeric(score) N= 2111
##
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | | | N|y>=1|y>=2| y>=3| y>=4| y>=5|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | age| [18, 50)| 532| Inf| 0|-1.2826510|-0.9615501|-1.7238483|
## | | [50, 59)| 538| Inf| 0|-1.3116242|-0.8256244|-1.1719720|
## | | [59, 69)| 527| Inf| 0|-1.2191564|-0.5871190|-1.9363379|
## | | [69,101]| 514| Inf| 0|-1.2026218|-0.9817401|-1.4085260|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | gender| hombre| 965| Inf| 0|-1.2780949|-0.7111659|-1.4139700|
## | | mujer|1146| Inf| 0|-1.2749043|-0.9310722|-1.5891429|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | bmi| [15.2,24.2)| 543| Inf| 0|-1.2375143|-0.9952653|-1.7006355|
## | | [24.2,26.8)| 515| Inf| 0|-1.3123113|-0.8217884|-1.6896542|
## | | [26.8,29.7)| 527| Inf| 0|-1.3072722|-0.9121262|-1.0901818|
## | | [29.7,64.5]| 526| Inf| 0|-1.1660431|-0.6352858|-1.5971159|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## |prior_incomplete_colonoscopy| no|2047| Inf| 0|-1.2582676|-0.8407379|-1.5479087|
## | | si| 64| Inf| 0|-0.8917711|-0.8418408|-1.2292325|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | ambulatory_hospitalised| ambulatorio|2087| Inf| 0|-1.2483598|-0.8385920|-1.5295516|
## | |hospitalizado| 24| Inf| 0|-0.7621401|-0.5108256|-0.7884574|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | schedule| mañana|1384| Inf| 0|-1.1181314|-0.8356233|-1.6223078|
## | | tarde| 727| Inf| 0|-1.4964892|-0.8489010|-1.2859108|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | first_operator_type| junior| 249| Inf| 0|-0.9148474|-1.2285311|-3.4036893|
## | | experto|1862| Inf| 0|-1.3376828|-0.8011901|-1.2644071|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | boston| Bueno| 904| Inf| 0|-1.3643556|-0.7686163|-1.3164776|
## | | Excelente|1207| Inf| 0|-1.2286695|-0.9646127|-2.1017000|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | pain| leve|1896| Inf| 0|-1.2567964|-0.8087719|-1.3694453|
## | | moderado| 210| Inf| 0|-1.8187153|-1.1068428|-2.5871373|
## | | severo| 5| Inf| | -Inf| -Inf| |
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | hernia| no|2063| Inf| 0|-1.2517197|-0.8317981|-1.4958707|
## | | si| 48| Inf| 0|-1.0459686|-1.0543573|-2.2481910|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | time_entrance|[0.617, 3.37)| 561| Inf| 0|-1.2658323|-0.8673386|-1.1713020|
## | |[3.367, 4.85)| 495| Inf| 0|-1.4107668|-0.8433292|-1.2603575|
## | |[4.850, 7.00)| 529| Inf| 0|-1.3250463|-0.7933270|-1.5401151|
## | |[7.000,38.80]| 526| Inf| 0|-1.1644322|-0.9257573|-1.9164224|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | consumption_propofol_mg| [ 15,162)| 540| Inf| 0|-1.4026755|-0.8076181|-1.1694634|
## | | [162,202)| 773| Inf| 0|-1.4651187|-0.9285974|-1.3250342|
## | | [202,260)| 282| Inf| 0|-1.1177572|-0.5254244|-2.0468510|
## | | [260,800]| 516| Inf| 0|-0.8422380|-0.9149343|-1.9315097|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
## | Overall| |2111| Inf| 0|-1.2422793|-0.8350776|-1.5174557|
## +----------------------------+-------------+----+----+----+----------+----------+----------+
plot(supuestos_model3, which=1:5,pch=1:5,xlab='logit', main=' ', xlim=range(supuestos_model3[,3:6], finite=TRUE))#
Modelo 4 sin variables VEDA/vcc conjunta, preparation, cirugia digestiva y hernia
model4 <- clmm(score~age+gender+bmi+prior_incomplete_colonoscopy+schedule+first_operator_type+boston+pain+time_entrance+ambulatory_hospitalised+consumption_propofol_mg+(1|institution),data=db_imp)
# model2c <- clmm2(score~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+ schedule +time_entrance+first_operator_type+boston+pain+consumption_propofol_mg, random = institution, nominal=~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+ schedule +time_entrance+first_operator_type+boston+pain+consumption_propofol_mg, data=db_imp, Hess=T)
# summary(model2c)
#1 - pchisq(2*(logLik(model2c)-logLik(model2_asess)),df=df.residual(model2_asess)-df.residual(model2c))
#o
#anova(model2_asess,model2c)#no cumple segun LRT
compare_performance(model1,model2,model3,model4)#RMSE 2.20 el error es el mismo, AIC no disminuye demasiado con una variable menos (model3), vuelve a aumentar al sacar mas variables en model 4, continuamos con el modelo2 por ahora
## # Comparison of Model Performance Indices
##
## Name | Model | AIC (weights) | BIC (weights) | RMSE | Sigma
## ----------------------------------------------------------------
## model1 | clmm | 5306.4 (0.063) | 5436.5 (<.001) | 2.207 | 1.814
## model2 | clmm | 5303.4 (0.282) | 5410.8 (0.005) | 2.208 | 1.814
## model3 | clmm | 5302.3 (0.481) | 5404.1 (0.139) | 2.208 | 1.814
## model4 | clmm | 5304.3 (0.175) | 5400.5 (0.856) | 2.208 | 1.814
# Predict values of the ordinal target variable in the test dataset:
preds <- predict(ordforres, newdata=datatest)
perf<-perff_equal(ytest=datatest$score, ytestpred=as.ordered(preds$ypred))
#estadistico Youden 0.144 en promedio
#matriz de confusion
caret::confusionMatrix(preds$ypred, datatest$score)
## Confusion Matrix and Statistics
##
## Reference
## Prediction 1 2 3 4 5
## 1 237 139 50 34 14
## 2 14 31 16 15 2
## 3 7 11 13 5 1
## 4 13 31 26 35 9
## 5 0 0 0 1 0
##
## Overall Statistics
##
## Accuracy : 0.4489
## 95% CI : (0.4117, 0.4865)
## No Information Rate : 0.3849
## P-Value [Acc > NIR] : 0.0003137
##
## Kappa : 0.1881
##
## Mcnemar's Test P-Value : < 2.2e-16
##
## Statistics by Class:
##
## Class: 1 Class: 2 Class: 3 Class: 4 Class: 5
## Sensitivity 0.8745 0.14623 0.12381 0.38889 0.00000
## Specificity 0.4527 0.90447 0.95993 0.87134 0.99853
## Pos Pred Value 0.5000 0.39744 0.35135 0.30702 0.00000
## Neg Pred Value 0.8522 0.71086 0.86207 0.90678 0.96302
## Prevalence 0.3849 0.30114 0.14915 0.12784 0.03693
## Detection Rate 0.3366 0.04403 0.01847 0.04972 0.00000
## Detection Prevalence 0.6733 0.11080 0.05256 0.16193 0.00142
## Balanced Accuracy 0.6636 0.52535 0.54187 0.63011 0.49926
#accuracy(precision de la clasif en datos de testeo): 0.44
#AUC del modelo mixto para predecir datos de entrenamiento y armar la curva
model2_asess <- clmm2(score~age+gender+bmi+digestive_surgery+prior_incomplete_colonoscopy+hernia+ambulatory_hospitalised+ schedule +time_entrance+first_operator_type+boston+pain+consumption_propofol_mg, random=institution,data=db_imp, Hess=T )
summary(model2_asess)
## Cumulative Link Mixed Model fitted with the Laplace approximation
##
## Call:
## clmm2(location = score ~ age + gender + bmi + digestive_surgery +
## prior_incomplete_colonoscopy + hernia + ambulatory_hospitalised +
## schedule + time_entrance + first_operator_type + boston +
## pain + consumption_propofol_mg, random = institution, data = db_imp,
## Hess = T)
##
## Random effects:
## Var Std.Dev
## institution 0.8078769 0.8988197
##
## Location coefficients:
## Estimate Std. Error z value Pr(>|z|)
## age 0.0109 0.0033 3.3467 0.00081767
## gendermujer 0.5778 0.0878 6.5798 4.7113e-11
## bmi -0.0187 0.0087 -2.1527 0.03134417
## digestive_surgerysi 0.0858 0.0889 0.9651 0.33451803
## prior_incomplete_colonoscopysi 0.5220 0.2428 2.1503 0.03153205
## herniasi 0.5344 0.2705 1.9757 0.04819394
## ambulatory_hospitalisedhospitalizado -0.1412 0.4365 -0.3234 0.74639537
## scheduletarde 0.3325 0.0979 3.3968 0.00068190
## time_entrance 0.0468 0.0121 3.8642 0.00011143
## first_operator_typeexperto -0.6498 0.1470 -4.4208 9.8333e-06
## bostonExcelente -0.3836 0.0977 -3.9267 8.6114e-05
## painmoderado 0.6755 0.1462 4.6219 3.8025e-06
## painsevero 0.3145 0.7012 0.4485 0.65380293
## consumption_propofol_mg 0.0029 0.0006 4.6966 2.6454e-06
##
## No scale coefficients
##
## Threshold coefficients:
## Estimate Std. Error z value
## 1|2 0.3425 0.4387 0.7807
## 2|3 1.9744 0.4408 4.4790
## 3|4 2.9981 0.4434 6.7611
## 4|5 4.6699 0.4546 10.2719
##
## log-likelihood: -2632.693
## AIC: 5303.386
## Condition number of Hessian: 2910172.59
exp(coef(model2_asess))
## 1|2 2|3
## 1.4084776 7.2022915
## 3|4 4|5
## 20.0474074 106.6918365
## age gendermujer
## 1.0109867 1.7820583
## bmi digestive_surgerysi
## 0.9814445 1.0896305
## prior_incomplete_colonoscopysi herniasi
## 1.6854338 1.7065078
## ambulatory_hospitalisedhospitalizado scheduletarde
## 0.8683522 1.3943811
## time_entrance first_operator_typeexperto
## 1.0479646 0.5221354
## bostonExcelente painmoderado
## 0.6814078 1.9651111
## painsevero consumption_propofol_mg
## 1.3695475 1.0028947
##
## 2.4567019
model_predict2 <- predict(model2_asess, newdata=datatest, type="response")
acu2<-multiclass.roc(datatest$score, model_predict2,direction=">", levels=levels(datatest$score),plot=TRUE, print.thres="best", print.auc=T)
acu2$auc
## Multi-class area under the curve: 0.9402
roc.df2<-data.frame(tpp=acu2$rocs[[10]]$sensitivities*100, ## tpp = true positive percentage
tnp=acu2$rocs[[10]]$specificities*100, ## fpp = false positive precentage
thresholds=acu2$rocs[[10]]$thresholds)
roc.df2[roc.df2$tpp > 90 & roc.df2$tpp < 95,]#0.027
## tpp tnp thresholds
## 33 92.30769 33.33333 0.13269926
## 34 92.30769 34.44444 0.13119126
## 35 92.30769 35.55556 0.12934731
## 36 92.30769 36.66667 0.12705219
## 37 92.30769 37.77778 0.12555203
## 38 92.30769 38.88889 0.12521529
## 39 92.30769 40.00000 0.12506555
## 40 92.30769 41.11111 0.12399661
## 41 92.30769 42.22222 0.12264951
## 42 92.30769 43.33333 0.12218725
## 43 92.30769 44.44444 0.12057833
## 44 92.30769 45.55556 0.11840348
## 45 92.30769 46.66667 0.11767414
## 46 92.30769 47.77778 0.11729579
## 47 92.30769 48.88889 0.11454453
## 48 92.30769 50.00000 0.11186551
## 49 92.30769 51.11111 0.11137797
## 50 92.30769 52.22222 0.10981326
## 51 92.30769 53.33333 0.10832608
## 52 92.30769 54.44444 0.10780905
## 53 92.30769 55.55556 0.10735884
## 54 92.30769 56.66667 0.10709123
## 55 92.30769 57.77778 0.10650332
## 56 92.30769 58.88889 0.10177943
## 57 92.30769 60.00000 0.09705286
## 58 92.30769 61.11111 0.09205247
## 59 92.30769 62.22222 0.08581838
## 60 92.30769 63.33333 0.08362040
## 61 92.30769 64.44444 0.08304041
## 62 92.30769 65.55556 0.08294378
## 63 92.30769 66.66667 0.08291351
## 64 92.30769 67.77778 0.08234570
## 65 92.30769 68.88889 0.08106621
## 66 92.30769 70.00000 0.08022468
## 67 92.30769 71.11111 0.07993390
## 68 92.30769 72.22222 0.07962386
## 69 92.30769 73.33333 0.07881416
## 70 92.30769 74.44444 0.07774518
## 71 92.30769 75.55556 0.07724728
## 72 92.30769 76.66667 0.07710655
## 73 92.30769 77.77778 0.07621355
## 74 92.30769 78.88889 0.07450209
## 75 92.30769 80.00000 0.07305427
## 76 92.30769 81.11111 0.07231236
## 77 92.30769 82.22222 0.07206214
## 78 92.30769 83.33333 0.07185930
## 79 92.30769 84.44444 0.06950654
## 80 92.30769 85.55556 0.06688215
## 81 92.30769 86.66667 0.06607833
## 82 92.30769 87.77778 0.06337691
## 83 92.30769 88.88889 0.06014665
## 84 92.30769 90.00000 0.05918963
## 85 92.30769 91.11111 0.05879020
## 86 92.30769 92.22222 0.05788050
## 87 92.30769 93.33333 0.05689645
## 88 92.30769 94.44444 0.05274216
## 89 92.30769 95.55556 0.04838234
## 90 92.30769 96.66667 0.04762502
curva_roc<-ggroc(acu2$rocs[[10]],alpha = 1, colour = "red", linetype = 1, size = 1)+ ggtitle("Gráfico 2. Curva ROC") + labs(x="Especificidad", y="Sensibilidad")+annotate("text", x=0.60,y=0.50,label="AUC=0.95",fontface = "bold",size = 4)+
theme(plot.title = element_text(size = 14, face = "bold"),axis.title = element_text(size=13))+annotate("pointrange",x=0.965,y=0.923,ymin = 0.916,ymax = 0.93,colour="black",size=0.5)+annotate("text",x=0.70,y=0.80, label="S:92.3% E:96.7%", fontface = "bold",size = 5)
model3_asess <- clmm2(score~age+gender+bmi+prior_incomplete_colonoscopy+schedule+first_operator_type+boston+pain+hernia+time_entrance+ambulatory_hospitalised+consumption_propofol_mg, random=institution,data=db_imp, Hess=T )
summary(model2_asess)
## Cumulative Link Mixed Model fitted with the Laplace approximation
##
## Call:
## clmm2(location = score ~ age + gender + bmi + digestive_surgery +
## prior_incomplete_colonoscopy + hernia + ambulatory_hospitalised +
## schedule + time_entrance + first_operator_type + boston +
## pain + consumption_propofol_mg, random = institution, data = db_imp,
## Hess = T)
##
## Random effects:
## Var Std.Dev
## institution 0.8078769 0.8988197
##
## Location coefficients:
## Estimate Std. Error z value Pr(>|z|)
## age 0.0109 0.0033 3.3467 0.00081767
## gendermujer 0.5778 0.0878 6.5798 4.7113e-11
## bmi -0.0187 0.0087 -2.1527 0.03134417
## digestive_surgerysi 0.0858 0.0889 0.9651 0.33451803
## prior_incomplete_colonoscopysi 0.5220 0.2428 2.1503 0.03153205
## herniasi 0.5344 0.2705 1.9757 0.04819394
## ambulatory_hospitalisedhospitalizado -0.1412 0.4365 -0.3234 0.74639537
## scheduletarde 0.3325 0.0979 3.3968 0.00068190
## time_entrance 0.0468 0.0121 3.8642 0.00011143
## first_operator_typeexperto -0.6498 0.1470 -4.4208 9.8333e-06
## bostonExcelente -0.3836 0.0977 -3.9267 8.6114e-05
## painmoderado 0.6755 0.1462 4.6219 3.8025e-06
## painsevero 0.3145 0.7012 0.4485 0.65380293
## consumption_propofol_mg 0.0029 0.0006 4.6966 2.6454e-06
##
## No scale coefficients
##
## Threshold coefficients:
## Estimate Std. Error z value
## 1|2 0.3425 0.4387 0.7807
## 2|3 1.9744 0.4408 4.4790
## 3|4 2.9981 0.4434 6.7611
## 4|5 4.6699 0.4546 10.2719
##
## log-likelihood: -2632.693
## AIC: 5303.386
## Condition number of Hessian: 2910172.59
exp(coef(model3_asess))
## 1|2 2|3
## 1.4113203 7.2136544
## 3|4 4|5
## 20.0728927 106.7844510
## age gendermujer
## 1.0113987 1.8153043
## bmi prior_incomplete_colonoscopysi
## 0.9821663 1.7001176
## scheduletarde first_operator_typeexperto
## 1.3829383 0.5179662
## bostonExcelente painmoderado
## 0.6819601 1.9810353
## painsevero herniasi
## 1.3566081 1.7277778
## time_entrance ambulatory_hospitalisedhospitalizado
## 1.0481606 0.8638704
## consumption_propofol_mg
## 1.0028558 2.4559562
model_predict3 <- predict(model3_asess, newdata=datatest, type="probability")
auc3 <- multiclass.roc(datatest$score, model_predict3,direction=">", levels=levels(datatest$score),plot=TRUE, print.thres="best", print.auc=T)#0.95 averange
auc3$auc# no hay mcuha diferencia
## Multi-class area under the curve: 0.941
Continuamos con el modelo 2
ggpredictions <-data.frame(ggpredict(model2,terms="gender", type="fe"))
ggpredictions$x = factor(ggpredictions$x)
levels(ggpredictions$x) = c("hombre", "mujer")
colnames(ggpredictions)[c(1, 6)] =c("genero", "score")
graf1<-ggplot(ggpredictions, aes(x = score, y = predicted, group=genero)) +
geom_smooth(aes(colour = genero),span=0.9)+
theme_minimal()+
ggtitle("Predicciones del modelo")
predictions2<-data.frame(ggpredict(model2,terms="pain", type="fe"))
predictions2$x = factor(predictions2$x)
levels(predictions2$x) = c("leve", "moderado","severo")
colnames(predictions2)[c(1,6)] =c("dolor", "score")
graf2<-ggplot(predictions2, aes(x = score, y = predicted, group=dolor))+geom_smooth(aes(colour = dolor),span=0.9)+theme_minimal()
predictions3<-data.frame(ggpredict(model2,terms="schedule", type="fe"))
predictions3$x = factor(predictions3$x)
levels(predictions3$x) = c("mañana", "tarde")
colnames(predictions3)[c(1, 6)] =c("jornada", "score")
graf3<-ggplot(predictions3, aes(x = score, y = predicted, group=jornada))+geom_smooth(aes(colour = jornada),span=0.9)+theme_minimal()
predictions4<-data.frame(ggpredict(model2,terms="prior_incomplete_colonoscopy", type="fe"))
predictions4$x = factor(predictions4$x)
levels(predictions4$x) = c("no", "si")
colnames(predictions4)[c(1, 6)] =c("VCCincompleta", "score")
graf4<-ggplot(predictions4, aes(x = score, y = predicted, group=VCCincompleta))+geom_smooth(aes(colour = VCCincompleta),span=0.9)+theme_minimal()+labs(color="VCC previa incompleta")
plot_grid(graf1,graf4,graf3,graf2)
mylabels2<-list(age="Edad",gendermujer="Genero[mujer]",bmi="IMC",digestive_surgerysi="Cirugia abdominal",herniasi="Antecedentes de hernia",prior_incomplete_colonoscopysi="Colonoscopia previa incompleta",ambulatory_hospitalisedhospitalizado="Hospitalizado",first_operator_typeexperto="1°operador experto", bostonExcelente="Boston[excelente]",scheduletarde="VCC vespertina",time_entrance="Tiempo de entrada(min)",painmoderado="Dolor[moderado]",painsevero="Dolor[severo]",consumption_propofol_mg="Consumo de propofol(mg)")
?tab_model
tabla_modelo<-tab_model(model2,rm.terms=c("1|2","2|3","3|4","4|5"),title = "Tabla 4. Resultados", auto.label = T,string.pred = "Predictores", string.ci = "IC 95%",dv.labels = "Score ABCD",pred.labels =mylabels2)
tabla_modelo
Score ABCD | |||
---|---|---|---|
Predictores | Odds Ratios | IC 95% | p |
Edad | 1.01 | 1.00 – 1.02 | 0.001 |
Genero[mujer] | 1.78 | 1.50 – 2.12 | <0.001 |
IMC | 0.98 | 0.96 – 1.00 | 0.031 |
Cirugia abdominal | 1.09 | 0.92 – 1.30 | 0.335 |
Colonoscopia previa incompleta |
1.69 | 1.05 – 2.71 | 0.032 |
Antecedentes de hernia | 1.71 | 1.00 – 2.90 | 0.048 |
Hospitalizado | 0.87 | 0.37 – 2.04 | 0.746 |
VCC vespertina | 1.39 | 1.15 – 1.69 | 0.001 |
Tiempo de entrada(min) | 1.05 | 1.02 – 1.07 | <0.001 |
1°operador experto | 0.52 | 0.39 – 0.70 | <0.001 |
Boston[excelente] | 0.68 | 0.56 – 0.83 | <0.001 |
Dolor[moderado] | 1.97 | 1.48 – 2.62 | <0.001 |
Dolor[severo] | 1.37 | 0.35 – 5.41 | 0.654 |
Consumo de propofol(mg) | 1.00 | 1.00 – 1.00 | <0.001 |
Random Effects | |||
σ2 | 3.29 | ||
τ00 institution | 0.81 | ||
ICC | 0.20 | ||
N institution | 15 | ||
Observations | 2111 | ||
Marginal R2 / Conditional R2 | 0.095 / 0.273 |
tbl_regression(model2, exponentiate=T)
Characteristic | OR1 | 95% CI1 | p-value |
---|---|---|---|
age | 1.01 | 1.00, 1.02 | <0.001 |
gender | |||
hombre | — | — | |
mujer | 1.78 | 1.50, 2.12 | <0.001 |
bmi | 0.98 | 0.96, 1.00 | 0.031 |
digestive_surgery | |||
no | — | — | |
si | 1.09 | 0.92, 1.30 | 0.3 |
prior_incomplete_colonoscopy | |||
no | — | — | |
si | 1.69 | 1.05, 2.71 | 0.032 |
hernia | |||
no | — | — | |
si | 1.71 | 1.00, 2.90 | 0.048 |
ambulatory_hospitalised | |||
ambulatorio | — | — | |
hospitalizado | 0.87 | 0.37, 2.04 | 0.7 |
schedule | |||
mañana | — | — | |
tarde | 1.39 | 1.15, 1.69 | <0.001 |
time_entrance | 1.05 | 1.02, 1.07 | <0.001 |
first_operator_type | |||
junior | — | — | |
experto | 0.52 | 0.39, 0.70 | <0.001 |
boston | |||
Bueno | — | — | |
Excelente | 0.68 | 0.56, 0.83 | <0.001 |
pain | |||
leve | — | — | |
moderado | 1.97 | 1.48, 2.62 | <0.001 |
severo | 1.37 | 0.35, 5.41 | 0.7 |
consumption_propofol_mg | 1.00 | 1.00, 1.00 | <0.001 |
1 OR = Odds Ratio, CI = Confidence Interval |
summary(model2)
Cumulative Link Mixed Model fitted with the Laplace approximation
formula: score ~ age + gender + bmi + digestive_surgery +
prior_incomplete_colonoscopy +
hernia + ambulatory_hospitalised + schedule + time_entrance +
first_operator_type + boston + pain + consumption_propofol_mg +
(1 | institution) data: db_imp
link threshold nobs logLik AIC niter max.grad cond.H logit flexible 2111 -2632.69 5303.39 2293(6891) 1.31e-01 2.9e+06
Random effects: Groups Name Variance Std.Dev. institution (Intercept)
0.8078 0.8988
Number of groups: institution 15
Coefficients: Estimate Std. Error z value Pr(>|z|)
age 0.0109266 0.0032651 3.346 0.000819 gendermujer
0.5777703 0.0878123 6.580 4.72e-11 bmi -0.0187299
0.0087018 -2.152 0.031365 *
digestive_surgerysi 0.0858313 0.0889481 0.965 0.334565
prior_incomplete_colonoscopysi 0.5220291 0.2427858 2.150 0.031542
*
herniasi 0.5344718 0.2705275 1.976 0.048193 *
ambulatory_hospitalisedhospitalizado -0.1411367 0.4366008 -0.323
0.746496
scheduletarde 0.3324472 0.0978753 3.397 0.000682
time_entrance 0.0468492 0.0121241 3.864 0.000111
first_operator_typeexperto -0.6498313 0.1470056 -4.420 9.85e-06
bostonExcelente -0.3835957 0.0976899 -3.927 8.61e-05
painmoderado 0.6755501 0.1461668 4.622 3.80e-06
painsevero 0.3143450 0.7013534 0.448 0.654011
consumption_propofol_mg 0.0028905 0.0006155 4.696 2.65e-06
— Signif. codes: 0 ‘’ 0.001 ’’ 0.01
’’ 0.05 ‘.’ 0.1 ’ ’ 1
Threshold coefficients: Estimate Std. Error z value 1|2 0.3425 0.4390 0.780 2|3 1.9744 0.4411 4.476 3|4 2.9981 0.4437 6.757 4|5 4.6699 0.4549 10.266
exp(coef(model2))
1|2 2|3
1.4084536 7.2021820
3|4 4|5
20.0470553 106.6898705
age gendermujer
1.0109865 1.7820606
bmi digestive_surgerysi
0.9814444 1.0896225
prior_incomplete_colonoscopysi herniasi
1.6854441 1.7065466
ambulatory_hospitalisedhospitalizado scheduletarde 0.8683706 1.3943762 time_entrance first_operator_typeexperto 1.0479640 0.5221339 bostonExcelente painmoderado 0.6814069 1.9651138 painsevero consumption_propofol_mg 1.3693621 1.0028947
or<-odds_plot(model2,title = "Gráfico 1. Estimadores modelo de regresion ordinal",
subtitle = "Factores asociados a VCC dificultosa",
error_bar_width = 1,
point_size = 2,
point_col = "red",
error_bar_colour = "blue", x_label = "",h_line_color = "black")
?odds_plot
or$odds_data<-or$odds_data[-c(1,2,3),]
or$odds_plot$data<-or$odds_plot$data[-c(1,2,3),]
or_plot<-or$odds_plot+
scale_x_discrete(expand=c(0.15,0.15),labels=c("prior_incomplete_colonoscopysi"="Colonoscopia previa incompleta",
"painmoderado" = "Dolor moderado","painsevero"="Dolor severo",
"gendermujer"="Mujer",
"herniasi"="Hernia","scheduletarde"="VCC vespertina","digestive_surgerysi"="Cirugia digestiva","time_entrance"="Tiempo de entrada","age"="Edad","consumption_propofol_mg"="Consumo de propofol(mg)","bmi"="IMC","ambulatory_hospitalisedhospitalizado"="Hospitalizado","bostonExcelente"="Boston Excelente","first_operator_typeexperto"="1°operador experto"))+theme(axis.text = element_text(size=14,face="bold", colour="black"),plot.title = element_text(size = 14, face = "bold"), plot.subtitle =element_text(size = 14), axis.title =element_text(size=12))