Con los datos que se importan a continuación, concluir si es el tipo tratamiento médico (T: A,B), o la clínica (Clinic: uno,dos) lo que explica el pronóstico (positivo, negativo).
packages
if(!require(googlesheets4)){install.packages("googlesheets4")}
if(!require(googledrive)){install.packages("googledrive")}
if(!require(ggplot2)){install.packages("ggplot2")}
if(!require(DescTools)){install.packages("DescTools")}
if(!require(MASS)){install.packages("MASS")}
if(!require(binom)){install.packages("binom")}
if(!require(scales)){install.packages("scales")}
##
library(googlesheets4)
library(googledrive)
library(ggplot2)
library(DescTools)
library(MASS)
library(binom)
library(scales)
ss= "https://docs.google.com/spreadsheets/d/1RFCYi7rjRPcbzcB01Nq3jgtc_o21LaDU8yFU41gjQKs/edit?usp=sharing"
hoja= "clinicTrat"
rango = "B4:E8"
#
gs4_deauth()
trat <- read_sheet(ss,
sheet=hoja,
range=rango,
col_names=TRUE
)
✔ Reading from ClinicaxTratamiento.
✔ Range ''clinicTrat'!B4:E8'.
trat$Clinic <- as.factor(trat$Clinic)
trat$T <- as.factor(trat$T)
#
trat$pr.exito <- trat$Posit /
(trat$Posit+trat$Negat) # Proporción de éxito (resultado positivo al tratamiento)
trat
ggplot( aes( x= T, y= pr.exito, fill = T), data= trat) +
geom_bar(stat="identity", position= "dodge")
ggplot( aes( x= Clinic, y= pr.exito), data= trat) +
geom_bar(stat="identity", position= "dodge")
p <- ggplot( aes( x= Clinic, y= pr.exito, fill = T), data= trat) +
geom_bar(stat="identity", position= "dodge")
p
obs <- cbind(Pronóstico_Positivo =trat$Posit, Pronóstico_Negativo= trat$Negat)
obs
Pronóstico_Positivo Pronóstico_Negativo
[1,] 4 16
[2,] 22 32
[3,] 8 32
[4,] 12 8
mosaicplot(obs, main = , xlab = , ylab = )
trat$Odds.exito <- trat$Posit / trat$Negat
trat
```r
# Variable respuesta es binaria (dos columnas)
Y.trat <- cbind(trat$Posit, trat$Negat)
Y.trat
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiICAgICBbLDFdIFssMl1cblsxLF0gICAgNCAgIDE2XG5bMixdICAgMjIgICAzMlxuWzMsXSAgICA4ICAgMzJcbls0LF0gICAxMiAgICA4XG4ifQ== -->
[,1] [,2]
[1,] 4 16 [2,] 22 32 [3,] 8 32 [4,] 12 8
<!-- rnb-output-end -->
<!-- rnb-chunk-end -->
<!-- rnb-text-begin -->
#### Modelo comparando clínicas
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZ2xtLmNsaW5pYyA8LSBnbG0oIFkudHJhdCB+IHRyYXQkQ2xpbmljLCBmYW1pbHk9Ymlub21pYWwpXG5zdW1tYXJ5KGdsbS5jbGluaWMpXG5gYGBcbmBgYCJ9 -->
```r
```r
glm.clinic <- glm( Y.trat ~ trat$Clinic, family=binomial)
summary(glm.clinic)
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiXG5DYWxsOlxuZ2xtKGZvcm11bGEgPSBZLnRyYXQgfiB0cmF0JENsaW5pYywgZmFtaWx5ID0gYmlub21pYWwpXG5cbkRldmlhbmNlIFJlc2lkdWFsczogXG4gICAgICAxICAgICAgICAyICAgICAgICAzICAgICAgICA0ICBcbi0xLjQ4NDQgICAwLjg1MzYgIC0xLjg2OTYgICAyLjQzNTkgIFxuXG5Db2VmZmljaWVudHM6XG4gICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yIHogdmFsdWUgUHIoPnx6fCkgIFxuKEludGVyY2VwdCkgICAgLTAuNjEzMTAgICAgMC4yNDM1MSAgLTIuNTE4ICAgMC4wMTE4ICpcbnRyYXQkQ2xpbmljdW5vIC0wLjA4MDA0ICAgIDAuMzY2NDYgIC0wLjIxOCAgIDAuODI3MSAgXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcblxuKERpc3BlcnNpb24gcGFyYW1ldGVyIGZvciBiaW5vbWlhbCBmYW1pbHkgdGFrZW4gdG8gYmUgMSlcblxuICAgIE51bGwgZGV2aWFuY2U6IDEyLjQwOSAgb24gMyAgZGVncmVlcyBvZiBmcmVlZG9tXG5SZXNpZHVhbCBkZXZpYW5jZTogMTIuMzYxICBvbiAyICBkZWdyZWVzIG9mIGZyZWVkb21cbkFJQzogMzAuOTdcblxuTnVtYmVyIG9mIEZpc2hlciBTY29yaW5nIGl0ZXJhdGlvbnM6IDRcbiJ9 -->
Call: glm(formula = Y.trat ~ trat$Clinic, family = binomial)
Deviance Residuals: 1 2 3 4
-1.4844 0.8536 -1.8696 2.4359
Coefficients: Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.61310 0.24351 -2.518 0.0118 * trat$Clinicuno -0.08004
0.36646 -0.218 0.8271
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05
‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12.409 on 3 degrees of freedom
Residual deviance: 12.361 on 2 degrees of freedom AIC: 30.97
Number of Fisher Scoring iterations: 4
<!-- rnb-output-end -->
<!-- rnb-chunk-end -->
<!-- rnb-text-begin -->
#### Modelo comparando tratamientos médicos
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZ2xtLnRyYXQgPC0gZ2xtKCBZLnRyYXQgfiB0cmF0JFQsIGZhbWlseT1iaW5vbWlhbClcbnN1bW1hcnkoZ2xtLnRyYXQpXG5gYGBcbmBgYCJ9 -->
```r
```r
glm.trat <- glm( Y.trat ~ trat$T, family=binomial)
summary(glm.trat)
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiXG5DYWxsOlxuZ2xtKGZvcm11bGEgPSBZLnRyYXQgfiB0cmF0JFQsIGZhbWlseSA9IGJpbm9taWFsKVxuXG5EZXZpYW5jZSBSZXNpZHVhbHM6IFxuICAgICAgMSAgICAgICAgMiAgICAgICAgMyAgICAgICAgNCAgXG4gMC4wMDAwICAtMC43NzA0ICAgMC4wMDAwICAgMS4yNTk5ICBcblxuQ29lZmZpY2llbnRzOlxuICAgICAgICAgICAgRXN0aW1hdGUgU3RkLiBFcnJvciB6IHZhbHVlIFByKD58enwpICAgIFxuKEludGVyY2VwdCkgIC0xLjM4NjMgICAgIDAuMzIyNyAgLTQuMjk1IDEuNzRlLTA1ICoqKlxudHJhdCRUQiAgICAgICAxLjIyMzggICAgIDAuMzk4MiAgIDMuMDczICAwLjAwMjEyICoqIFxuLS0tXG5TaWduaWYuIGNvZGVzOiAgMCDigJgqKirigJkgMC4wMDEg4oCYKirigJkgMC4wMSDigJgq4oCZIDAuMDUg4oCYLuKAmSAwLjEg4oCYIOKAmSAxXG5cbihEaXNwZXJzaW9uIHBhcmFtZXRlciBmb3IgYmlub21pYWwgZmFtaWx5IHRha2VuIHRvIGJlIDEpXG5cbiAgICBOdWxsIGRldmlhbmNlOiAxMi40MDkgIG9uIDMgIGRlZ3JlZXMgb2YgZnJlZWRvbVxuUmVzaWR1YWwgZGV2aWFuY2U6ICAyLjE4MSAgb24gMiAgZGVncmVlcyBvZiBmcmVlZG9tXG5BSUM6IDIwLjc5XG5cbk51bWJlciBvZiBGaXNoZXIgU2NvcmluZyBpdGVyYXRpb25zOiAzXG4ifQ== -->
Call: glm(formula = Y.trat ~ trat$T, family = binomial)
Deviance Residuals: 1 2 3 4
0.0000 -0.7704 0.0000 1.2599
Coefficients: Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.3863 0.3227 -4.295 1.74e-05 * trat$TB 1.2238
0.3982 3.073 0.00212 — Signif. codes: 0 ‘’ 0.001
‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12.409 on 3 degrees of freedom
Residual deviance: 2.181 on 2 degrees of freedom AIC: 20.79
Number of Fisher Scoring iterations: 3
<!-- rnb-output-end -->
<!-- rnb-chunk-end -->
<!-- rnb-text-begin -->
#### Modelo en busca de interacción: Clinic * T
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuZ2xtIDwtIGdsbSggWS50cmF0IH4gdHJhdCRUICogdHJhdCRDbGluaWMsIGZhbWlseT1iaW5vbWlhbClcbnN1bW1hcnkoZ2xtKVxuYGBgXG5gYGAifQ== -->
```r
```r
glm <- glm( Y.trat ~ trat$T * trat$Clinic, family=binomial)
summary(glm)
<!-- rnb-source-end -->
<!-- rnb-output-begin eyJkYXRhIjoiXG5DYWxsOlxuZ2xtKGZvcm11bGEgPSBZLnRyYXQgfiB0cmF0JFQgKiB0cmF0JENsaW5pYywgZmFtaWx5ID0gYmlub21pYWwpXG5cbkRldmlhbmNlIFJlc2lkdWFsczogXG5bMV0gIDAgIDAgIDAgIDBcblxuQ29lZmZpY2llbnRzOlxuICAgICAgICAgICAgICAgICAgICAgICAgIEVzdGltYXRlIFN0ZC4gRXJyb3IgeiB2YWx1ZSBQcig+fHp8KSAgXG4oSW50ZXJjZXB0KSAgICAgICAgICAgIC0xLjM4NmUrMDAgIDUuNTkwZS0wMSAgLTIuNDgwICAgMC4wMTMxICpcbnRyYXQkVEIgICAgICAgICAgICAgICAgIDEuMDEyZSswMCAgNi4yMzllLTAxICAgMS42MjIgICAwLjEwNDkgIFxudHJhdCRDbGluaWN1bm8gICAgICAgICAtNS44NjFlLTEzICA2Ljg0N2UtMDEgICAwLjAwMCAgIDEuMDAwMCAgXG50cmF0JFRCOnRyYXQkQ2xpbmljdW5vICA3LjgwMmUtMDEgIDguNjgyZS0wMSAgIDAuODk5ICAgMC4zNjg5ICBcbi0tLVxuU2lnbmlmLiBjb2RlczogIDAg4oCYKioq4oCZIDAuMDAxIOKAmCoq4oCZIDAuMDEg4oCYKuKAmSAwLjA1IOKAmC7igJkgMC4xIOKAmCDigJkgMVxuXG4oRGlzcGVyc2lvbiBwYXJhbWV0ZXIgZm9yIGJpbm9taWFsIGZhbWlseSB0YWtlbiB0byBiZSAxKVxuXG4gICAgTnVsbCBkZXZpYW5jZTogMS4yNDA5ZSswMSAgb24gMyAgZGVncmVlcyBvZiBmcmVlZG9tXG5SZXNpZHVhbCBkZXZpYW5jZTogOC44ODE4ZS0xNSAgb24gMCAgZGVncmVlcyBvZiBmcmVlZG9tXG5BSUM6IDIyLjYwOVxuXG5OdW1iZXIgb2YgRmlzaGVyIFNjb3JpbmcgaXRlcmF0aW9uczogM1xuIn0= -->
Call: glm(formula = Y.trat ~ trat\(T * trat\)Clinic, family = binomial)
Deviance Residuals: [1] 0 0 0 0
Coefficients: Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.386e+00 5.590e-01 -2.480 0.0131 * trat\(TB 1.012e+00 6.239e-01 1.622 0.1049
trat\)Clinicuno -5.861e-13 6.847e-01 0.000 1.0000
trat\(TB:trat\)Clinicuno 7.802e-01
8.682e-01 0.899 0.3689
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05
‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1.2409e+01 on 3 degrees of freedom
Residual deviance: 8.8818e-15 on 0 degrees of freedom AIC: 22.609
Number of Fisher Scoring iterations: 3
<!-- rnb-output-end -->
<!-- rnb-chunk-end -->
<!-- rnb-text-begin -->
#### Modelo aditivo: Clinic + T
<!-- rnb-text-end -->
<!-- rnb-chunk-begin -->
<!-- rnb-output-begin eyJkYXRhIjoiXG5DYWxsOlxuZ2xtKGZvcm11bGEgPSBZLnRyYXQgfiB0cmF0JFQgKyB0cmF0JENsaW5pYywgZmFtaWx5ID0gYmlub21pYWwpXG5cbkRldmlhbmNlIFJlc2lkdWFsczogXG4gICAgICAxICAgICAgICAyICAgICAgICAzICAgICAgICA0ICBcbiAwLjYwMjMgIC0wLjI3NjIgIC0wLjM4NDUgICAwLjQ1MjEgIFxuXG5Db2VmZmljaWVudHM6XG4gICAgICAgICAgICAgICBFc3RpbWF0ZSBTdGQuIEVycm9yIHogdmFsdWUgUHIoPnx6fCkgICAgXG4oSW50ZXJjZXB0KSAgICAgLTEuNzM1MiAgICAgMC40NTA3ICAtMy44NTAgMC4wMDAxMTggKioqXG50cmF0JFRCICAgICAgICAgIDEuNDM2OSAgICAgMC40NDU4ICAgMy4yMjMgMC4wMDEyNjggKiogXG50cmF0JENsaW5pY3VubyAgIDAuNDk4NyAgICAgMC40Mjc3ICAgMS4xNjYgMC4yNDM1ODEgICAgXG4tLS1cblNpZ25pZi4gY29kZXM6ICAwIOKAmCoqKuKAmSAwLjAwMSDigJgqKuKAmSAwLjAxIOKAmCrigJkgMC4wNSDigJgu4oCZIDAuMSDigJgg4oCZIDFcblxuKERpc3BlcnNpb24gcGFyYW1ldGVyIGZvciBiaW5vbWlhbCBmYW1pbHkgdGFrZW4gdG8gYmUgMSlcblxuICAgIE51bGwgZGV2aWFuY2U6IDEyLjQwODcxICBvbiAzICBkZWdyZWVzIG9mIGZyZWVkb21cblJlc2lkdWFsIGRldmlhbmNlOiAgMC43OTEyOSAgb24gMSAgZGVncmVlcyBvZiBmcmVlZG9tXG5BSUM6IDIxLjRcblxuTnVtYmVyIG9mIEZpc2hlciBTY29yaW5nIGl0ZXJhdGlvbnM6IDRcbiJ9 -->
Call: glm(formula = Y.trat ~ trat\(T + trat\)Clinic, family = binomial)
Deviance Residuals: 1 2 3 4
0.6023 -0.2762 -0.3845 0.4521
Coefficients: Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.7352 0.4507 -3.850 0.000118 *** trat\(TB 1.4369 0.4458 3.223 0.001268 **
trat\)Clinicuno 0.4987 0.4277 1.166 0.243581
— Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05
‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12.40871 on 3 degrees of freedom
Residual deviance: 0.79129 on 1 degrees of freedom AIC: 21.4
Number of Fisher Scoring iterations: 4 ```
Agresti, A., & Coull, B. A. (1998). Approximate is better than “exact” for interval estimation of binomial proportions. The American Statistician, 52(2), 119–126.