
Los gráficos de mosaico (mosaic plot) me gustan cada vez más. Hoy quería confesaros una cosa: no me gustan los gráficos. Sé que en esta bitácora electrónica hay muchos ejemplos de gráficos y muchos trucos referentes a ellos, pero siempre prefiero un dato representado en una tabla. Después de esta confesión, voy a rebatirme a mí mismo: es muy complicado ver algo en una tabla de contingencia cuando tenemos tres o cuatro dimensiones. Sin embargo, con un mosaic plot como el que tenemos arriba, somos capaces de estudiar cruces de frecuencia para 3-4 dimensiones.
Para hacerlo empleamos R, en concreto el paquete vcd. Para ilustrar el ejemplo con datos, nos vamos a la web de un conocido libro para el uso de GLM en seguros. No entramos en muchos detalles; el código es muy simple:
library(vcd)
# Lectura de datos
sini <- read.csv("http://www.businessandeconomics.mq.edu.au/our_departments/Applied_Finance_and_Actuarial_Studies/acst_docs/glms_for_insurance_data/data/claimslong.csv")
# Creación de tabla de frecuencias
tabla <- ftable(sini$agecat, sini$valuecat, sini$period,
dnn = c("Edad", "Valor", "Antiguedad"))
tabla
# Gráfico de mosaico
mosaic(~ Edad + Valor + Antiguedad, data = tabla)
In este caso, pintamos un objeto ftable. Podríamos pintar directamente los datos o un objeto table; esto es importante porque podemos cocinar nuestros datos directamente con SAS, Excel, WPS… y pasarlos a R para realizar el gráfico de mosaico. Seguramente conocíais este tipo de gráficos, pero el ahora escribiente no, y se ha quedado prendado de ellos. Saludos.