jueves, 3 de junio de 2010

Los datos de Florence Nightingale

Florence Nightingale (Florencia, 12 de mayo de 1820 - Londres, 13 de septiembre de 1910), fue una enfermera británica considerada una de les pioneras en la práctica de la enfermería moderna y creadora del primer modelo conceptual de enfermería. Pero además destacó desde muy joven en matemáticas, aplicando después la estadística a la epidemiología y explotando la estadística sanitaria. Fue la primera mujer admitida en la Royal Statistical Society británica, y miembro honorario de la American Statistical Association.

Sin embargo, esta mujer, estudiada y reconocida en enfermería, es poco conocida entre los estudiantes de estadística y de matemáticas. Con motivo del pasado Día Internacional de la Mujer (8 de marzo) compartí con Carmina Olivé un acto de CCOO en la Universitat Politècnica de Catalunya (conjunto con la UB) en la que ella explicó su importancia en la enfermería moderna y yo glosé sus dotes científico-matemáticas-estadísticas. Voy a explicar brevemente mis argumentos.

A través de su trabajo como enfermera en guerra de Crimea, Florence Nightingale fue pionera al establecer la importancia de la higiene en los hospitales, en particular los hospitales de campaña. Ella reunió muchos datos en relación al coste en vidas por la falta de limpieza y, con sus gráficos y razonamientos matemáticos, también fue una avanzada en estadística aplicada. Con todo ello consiguió convencer a las autoridades de la época y, en especial, a los entonces muy obtusos militares para mejorar las condiciones sanitarias de los hospitales militares y civiles.

Entre los resultados estadísticos de Nightingale el más famoso es este gráfico, conocido como coxcomb o rosa de Nightingale, en el que se comparan los datos de soldados muertos por diversas causas, antes y después de aplicar las mejoras sanitarias en los hospitales.

Una versión más moderna y dinámica de este gráfico se puede hallar en el siguiente enlace:

http://understandinguncertainty.org/node/213

y las matemáticas y los datos para generar dicho gráfico se pueden consultar aquí:

http://understandinguncertainty.org/node/214

Por desgracia y que yo sepa, R no dispone de este tipo de gráfico. Llegados a este punto y, aunque hay algunas técnicas univariantes descriptivas para ayudar a Florence Nightingale, vamos a utilizar R y un par de técnicas multivariantes para describir sus datos.

La enfermera Nightingale recogió el número de soldados muertos por diversas causas: Zymotic diseases (ZD), Wounds & injuries (WI) y All other causes (OC), con ellos calculó unos índices de mortalidad anual relativa por cada 1000. Son precisamente esos índices los que vamos a utilizar como variables para un análisis de componentes principales.


dades <- read.table(file="dades.csv",header=T,sep=";")
dades$treatment <- factor(c(rep(0,12),rep(1,12)))
levels(dades$treatment) <- c("No", "Yes")
dades$active <- dades$size - (dades$zymotic_diseases + dades$wounds.injuries + dades$all_other)

dades$zymotic_diseases_ar <- dades$zymotic_diseases*12000/dades$size
dades$wounds.injuries_ar <- dades$wounds.injuries*12000/dades$size
dades$all_other_ar <- dades$all_other*12000/dades$size

attach(dades)

library(FactoMineR)
dades.res <- dades[8:11]

rownames(dades.res) <- idx

res.pca <- PCA(dades.res, quali.sup = 1)
plot(res.pca,habillage=1)

Con este código se obtiene el siguiente gráfico que se explica con mucha facilidad:

En él observamos que, si bien el primer eje admite la típica explicación de tamaño, en este caso depende básicamente de la causa evitable ZD y de OC (menos importante). El otro eje se explica con la variable WI.

En el gráfico con los 24 meses observados sobre las dos primeras componentes principales, donde los 12 primeros son antes de aplicar sus nuevos métodos de cuidado en los hospitales militares, observamos que los meses con el tratamiento se sitúan claramente a la izquierda, indicando la mejora en las muertes por causas evitables.

Por otra parte, y como los datos iniciales son frecuencias, podemos realizar un análisis de correspondencias tomando los meses como perfiles.

tabla <- data.frame(zymotic_diseases, wounds.injuries, all_other, active)
library(ca)
my.ca <- ca(tabla)
plot(my.ca, map="rowprincipal", xlim=c(-0.2,0.8), ylim=c(-0.2,0.2))

El resultado es similar. La explicación de los ejes que proporcionan los vértices (causas de mortalidad) es la misma que con el PCA e indica que la mejora en el tratamiento de las enfermedades en los hospitales hace que dichos meses estén a la izquierda. El único detalle es que en el gráfico se ha tenido que hacer un zoom sobre los puntos, ya que todos ellos quedaban fuertemente agrupados junto al vértice de "activos" que es el más pesado (el triángulo rojo del gráfico).

No hay comentarios:

Publicar un comentario en la entrada