Efecto de la dureza del agua en la incidencia de malformaciones del SNC

Regresión de Poisson

Felicia M. García Méndez

Universidad de Granada

6 de marzo de 2025

Presentación del problema

Objetivo

Determinar el efecto de la dureza del agua en la incidencia de malformaciones del sistema nervioso central (SNC) en el sur de Gales, Reino Unido.

Lowe CR, Roberts CJ, Lloyd S. Malformations of Central Nervous System and Softness of Local Water Supplies. BMJ, 1971, 2, 357-361

Preliminares

Paquetes

if(!require(pacman)){install.packages("pacman")}
p_load(dplyr, ggplot2, performance,
       gt, patchwork, ggdag, dagitty,
       gridExtra,investr)


Datos

db <- suppressMessages(read.csv("cns.csv"))
glimpse(db)
Rows: 16
Columns: 8
$ X     <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
$ Area  <chr> "Cardiff", "Newport", "Swansea", "GlamorganE", "GlamorganW", "Gl…
$ NoCNS <int> 4091, 1515, 2394, 3163, 1979, 4838, 2362, 1604, 9424, 4610, 5526…
$ An    <int> 5, 1, 9, 9, 5, 11, 6, 3, 31, 3, 19, 55, 30, 25, 36, 8
$ Sp    <int> 9, 7, 5, 14, 10, 12, 8, 6, 33, 15, 30, 71, 44, 28, 37, 13
$ Other <int> 5, 0, 0, 3, 1, 2, 4, 0, 14, 6, 4, 19, 10, 12, 13, 3
$ Water <int> 110, 100, 95, 42, 39, 161, 83, 122, 110, 100, 95, 42, 39, 161, 8…
$ Work  <chr> "NonManual", "NonManual", "NonManual", "NonManual", "NonManual",…

Descripción de los datos

X Area NoCNS An Sp Other Water Work
1 Cardiff 4091 5 9 5 110 NonManual
2 Newport 1515 1 7 0 100 NonManual
3 Swansea 2394 9 5 0 95 NonManual
4 GlamorganE 3163 9 14 3 42 NonManual
5 GlamorganW 1979 5 10 1 39 NonManual
6 GlamorganC 4838 11 12 2 161 NonManual
7 MonmouthV 2362 6 8 4 83 NonManual
8 MonmouthOther 1604 3 6 0 122 NonManual
9 Cardiff 9424 31 33 14 110 Manual
10 Newport 4610 3 15 6 100 Manual

Efecto de la dureza del agua

Incidencia de la Anencefalia

m1 <- glm(An ~ Water, data = tbl1,family = poisson(),offset = log(Total))
summary(m1)

Call:
glm(formula = An ~ Water, family = poisson(), data = tbl1, offset = log(Total))

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -5.501770   0.146775 -37.484   <2e-16 ***
Water       -0.003407   0.001567  -2.174   0.0297 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 23.850  on 7  degrees of freedom
Residual deviance: 19.042  on 6  degrees of freedom
AIC: 63.564

Number of Fisher Scoring iterations: 4
cat("Riesgo relativo: ",as.numeric(round(exp(coef(m1)[2]),3)))
Riesgo relativo:  0.997

Presencia de sobredispersión

check_overdispersion(m1)
# Overdispersion test

       dispersion ratio =  2.362
  Pearson's Chi-Squared = 14.172
                p-value =  0.028

Comprobación de los residuos

check_residuals(m1)
OK: Simulated residuals appear as uniformly distributed (p = 0.856).

Incidencia de la Espina bífida

m2 <- glm(Sp ~ Water, data = tbl1,family = poisson(),offset = log(Total))
summary(m2)

Call:
glm(formula = Sp ~ Water, family = poisson(), data = tbl1, offset = log(Total))

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -5.107616   0.125671 -40.643  < 2e-16 ***
Water       -0.004655   0.001370  -3.397 0.000681 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 15.1953  on 7  degrees of freedom
Residual deviance:  3.3592  on 6  degrees of freedom
AIC: 51.356

Number of Fisher Scoring iterations: 4
cat("Riesgo relativo: ",as.numeric(round(exp(coef(m2)[2]),3)))
Riesgo relativo:  0.995

Presencia de sobredispersión

check_overdispersion(m2)
# Overdispersion test

       dispersion ratio = 0.553
  Pearson's Chi-Squared = 3.319
                p-value = 0.768

Comprobación de los residuos

check_residuals(m2)
OK: Simulated residuals appear as uniformly distributed (p = 0.706).

Otras malformaciones

m3 <- glm(Other ~ Water, data = tbl1,family = poisson(),offset = log(Total))
summary(m3)

Call:
glm(formula = Other ~ Water, family = poisson(), data = tbl1, 
    offset = log(Total))

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -6.659517   0.244340 -27.255   <2e-16 ***
Water       -0.001359   0.002521  -0.539     0.59    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 6.9476  on 7  degrees of freedom
Residual deviance: 6.6553  on 6  degrees of freedom
AIC: 43.718

Number of Fisher Scoring iterations: 4
cat("Riesgo relativo: ",as.numeric(round(exp(coef(m3)[2]),3)))
Riesgo relativo:  0.999

Presencia de sobredispersión

check_overdispersion(m3)
# Overdispersion test

       dispersion ratio = 0.976
  Pearson's Chi-Squared = 5.857
                p-value = 0.439

Comprobación de los residuos

check_residuals(m3)
OK: Simulated residuals appear as uniformly distributed (p = 0.985).

MUCHAS GRACIAS