ANÁLISIS DE CORRESPONDENCIA MULTIPLE

Camilo Mendez Hilario -

Wesley Kawano Villavicencio -

Nayra Limaymanta Jorge -

Stefano Huerta Barba -

Efrain Huaringa Alvarez -

Introducción

La intoxicación alimentaria o la enfermedad transmitida por los alimentos pueden afectar a cualquier persona que ingiera alimentos que están contaminados con bacterias, virus, parásitos, toxinas u otras sustancias, pero algunas personas son más propensas a enfermarse o a padecer una enfermedad grave.

Los niños tienen un riesgo mayor de sufrir enfermedades transmitidas por los alimentos y otras complicaciones de salud relacionadas, ya que sus sistemas inmunitarios aún se están desarrollando. Los niños pequeños con sistemas inmunitarios en desarrollo no pueden combatir las infecciones como lo hacen los adultos. Además, los niños producen menos ácido estomacal, que mata las bacterias dañinas, por lo que suelen presentar síntomas como vómitos, diarrea, fiebre o dolor abdominal. En la mayoría de los casos, la intoxicación alimentaria es leve y desaparece sin tratamiento. Pero algunos casos los niños necesitan ir al hospital.

Para este caso se utilizaron datos que fueron extraidos de una encuesta realizada a una muestra de 55 niños de educación primaria que sufrieron intoxicación alimentaria. Se les preguntó sobre sus síntomas y sobre lo que comían.

Objetivo

  • Encontrar y describir las relaciones existentes entre las categorías de las variables categóricas.

11 Variables de estudio:

Variable Tipo de variable
Nausea Categorica
Vómitos Categorica
Abdominales Categorica
Fiebre Categorica
Diarrea Categorica
Papa Categorica
Pez Categorica
Mayonesa Categorica
Calabacín Categorica
Queso Categorica
Helado Categorica

Lectura de Paquetes

library(pacman)
p_load("fastDummies","funModeling","FactoMineR","factoextra","dplyr","ggplot2","tidyverse","DT","ggthemes")

Lectura de Datos

datos <- read.csv("datos_encuesta_niños.csv")

# Elimina la primera columna
datos$X <- NULL

head(datos)
##   Nausea Vómitos Abdominales Fiebre Diarrea Papa Pez Mayonesa Calabacín Queso
## 1     si      no          si     si      si   si  si       si        si    si
## 2     no      no          no     no      no   si  si       si        si    no
## 3     no      si          si     si      si   si  si       si        si    si
## 4     no      no          no     no      no   si  si       no        si    si
## 5     no      si          si     si      si   si  si       si        si    si
## 6     no      no          si     si      si   si  no       si        si    si
##   Helado
## 1     si
## 2     si
## 3     si
## 4     si
## 5     si
## 6     si
# convirtiendo las variables a factor
datos$Nausea <- factor(datos$Nausea)
datos$Vómitos <- factor(datos$Vómitos)
datos$Abdominales <- factor(datos$Abdominales)
datos$Fiebre <- factor(datos$Fiebre)
datos$Diarrea <- factor(datos$Diarrea)
datos$Papa <- factor(datos$Papa)
datos$Pez <- factor(datos$Pez)
datos$Mayonesa <- factor(datos$Mayonesa)
datos$Calabacín <- factor(datos$Calabacín)
datos$Queso <- factor(datos$Queso)
datos$Helado <- factor(datos$Helado)
str(datos)
## 'data.frame':    55 obs. of  11 variables:
##  $ Nausea     : Factor w/ 2 levels "no","si": 2 1 1 1 1 1 1 2 2 1 ...
##  $ Vómitos    : Factor w/ 2 levels "no","si": 1 1 2 1 2 1 2 2 1 2 ...
##  $ Abdominales: Factor w/ 2 levels "no","si": 2 1 2 1 2 2 2 2 2 1 ...
##  $ Fiebre     : Factor w/ 2 levels "no","si": 2 1 2 1 2 2 2 2 2 2 ...
##  $ Diarrea    : Factor w/ 2 levels "no","si": 2 1 2 1 2 2 2 2 2 2 ...
##  $ Papa       : Factor w/ 2 levels "no","si": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Pez        : Factor w/ 2 levels "no","si": 2 2 2 2 2 1 2 2 2 2 ...
##  $ Mayonesa   : Factor w/ 2 levels "no","si": 2 2 2 1 2 2 2 2 2 2 ...
##  $ Calabacín  : Factor w/ 2 levels "no","si": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Queso      : Factor w/ 2 levels "no","si": 2 1 2 2 2 2 2 2 2 2 ...
##  $ Helado     : Factor w/ 2 levels "no","si": 2 2 2 2 2 2 2 2 2 2 ...

Prueba de independencia Chi-cuadrado

  • \(H_o:\) Las variables son independientes

  • \(H_1:\) Las variables son dependientes

attach(datos)
chisq.test(Abdominales,Diarrea)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  Abdominales and Diarrea
## X-squared = 35.364, df = 1, p-value = 2.735e-09
chisq.test(Fiebre,Vómitos)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  Fiebre and Vómitos
## X-squared = 9.9033, df = 1, p-value = 0.00165
chisq.test(Abdominales,Mayonesa)
## Warning in chisq.test(Abdominales, Mayonesa): Chi-squared approximation may be
## incorrect
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  Abdominales and Mayonesa
## X-squared = 9.9202, df = 1, p-value = 0.001635

Interpretación:

Como la probabilidad es muy pequeña entonces es poco probable de que los datos vengan de una población donde son independientes.

Tabla disyuntiva (variables dicotomicas O Dummies)

dummy_cols(datos, c("Nausea","Vómitos","Abdominales","Fiebre","Diarrea","Papa","Pez",
                    "Mayonesa","Calabacín","Queso","Helado"))->tabla_disyuntiva

# se elimina las 12 primeras columnas dado que estas contienen las variables originales que no forman parte
# del formato de las variables que presenta nuestra matriz disyuntiva.
tabla_disyuntiva[,-c(0:11)]->tabla_disyuntiva  ; tabla_disyuntiva
##    Nausea_no Nausea_si Vómitos_no Vómitos_si Abdominales_no Abdominales_si
## 1          0         1          1          0              0              1
## 2          1         0          1          0              1              0
## 3          1         0          0          1              0              1
## 4          1         0          1          0              1              0
## 5          1         0          0          1              0              1
## 6          1         0          1          0              0              1
## 7          1         0          0          1              0              1
## 8          0         1          0          1              0              1
## 9          0         1          1          0              0              1
## 10         1         0          0          1              1              0
## 11         0         1          0          1              0              1
## 12         1         0          0          1              0              1
## 13         1         0          1          0              0              1
## 14         1         0          1          0              1              0
## 15         1         0          1          0              1              0
## 16         1         0          0          1              0              1
## 17         1         0          0          1              0              1
## 18         0         1          0          1              0              1
## 19         1         0          0          1              0              1
## 20         1         0          1          0              1              0
## 21         1         0          1          0              0              1
## 22         1         0          1          0              0              1
## 23         1         0          0          1              0              1
## 24         1         0          0          1              0              1
## 25         1         0          1          0              0              1
## 26         1         0          1          0              1              0
## 27         1         0          0          1              0              1
## 28         1         0          0          1              0              1
## 29         1         0          1          0              1              0
## 30         0         1          0          1              0              1
## 31         1         0          1          0              0              1
## 32         1         0          1          0              1              0
## 33         1         0          1          0              1              0
## 34         1         0          1          0              1              0
## 35         0         1          1          0              0              1
## 36         0         1          0          1              0              1
## 37         0         1          1          0              0              1
## 38         1         0          1          0              1              0
## 39         1         0          1          0              0              1
## 40         0         1          0          1              0              1
## 41         0         1          1          0              0              1
## 42         1         0          1          0              1              0
## 43         1         0          1          0              0              1
## 44         0         1          0          1              0              1
## 45         1         0          0          1              0              1
## 46         1         0          1          0              0              1
## 47         1         0          1          0              1              0
## 48         1         0          1          0              1              0
## 49         1         0          1          0              1              0
## 50         1         0          1          0              0              1
## 51         1         0          1          0              1              0
## 52         1         0          1          0              0              1
## 53         1         0          1          0              1              0
## 54         1         0          0          1              0              1
## 55         1         0          0          1              0              1
##    Fiebre_no Fiebre_si Diarrea_no Diarrea_si Papa_no Papa_si Pez_no Pez_si
## 1          0         1          0          1       0       1      0      1
## 2          1         0          1          0       0       1      0      1
## 3          0         1          0          1       0       1      0      1
## 4          1         0          1          0       0       1      0      1
## 5          0         1          0          1       0       1      0      1
## 6          0         1          0          1       0       1      1      0
## 7          0         1          0          1       0       1      0      1
## 8          0         1          0          1       0       1      0      1
## 9          0         1          0          1       0       1      0      1
## 10         0         1          0          1       0       1      0      1
## 11         0         1          0          1       0       1      0      1
## 12         1         0          1          0       0       1      0      1
## 13         0         1          0          1       0       1      0      1
## 14         1         0          1          0       0       1      0      1
## 15         1         0          1          0       0       1      0      1
## 16         0         1          0          1       0       1      0      1
## 17         0         1          0          1       0       1      0      1
## 18         0         1          0          1       0       1      0      1
## 19         0         1          0          1       0       1      0      1
## 20         1         0          1          0       0       1      0      1
## 21         0         1          0          1       0       1      0      1
## 22         0         1          0          1       0       1      0      1
## 23         0         1          0          1       0       1      0      1
## 24         1         0          0          1       0       1      0      1
## 25         0         1          0          1       0       1      0      1
## 26         1         0          1          0       0       1      0      1
## 27         0         1          1          0       0       1      0      1
## 28         0         1          0          1       0       1      0      1
## 29         1         0          1          0       0       1      0      1
## 30         0         1          0          1       0       1      0      1
## 31         0         1          0          1       0       1      0      1
## 32         1         0          1          0       0       1      0      1
## 33         1         0          1          0       0       1      0      1
## 34         1         0          1          0       0       1      0      1
## 35         0         1          0          1       1       0      0      1
## 36         0         1          0          1       0       1      0      1
## 37         1         0          0          1       1       0      0      1
## 38         1         0          1          0       0       1      0      1
## 39         0         1          0          1       1       0      0      1
## 40         0         1          0          1       0       1      0      1
## 41         0         1          0          1       0       1      0      1
## 42         1         0          1          0       0       1      0      1
## 43         0         1          0          1       0       1      0      1
## 44         0         1          0          1       0       1      0      1
## 45         0         1          0          1       0       1      0      1
## 46         0         1          0          1       0       1      0      1
## 47         1         0          1          0       0       1      0      1
## 48         1         0          1          0       0       1      0      1
## 49         1         0          1          0       0       1      0      1
## 50         0         1          0          1       0       1      0      1
## 51         1         0          1          0       0       1      0      1
## 52         0         1          0          1       0       1      0      1
## 53         1         0          1          0       0       1      0      1
## 54         0         1          1          0       0       1      0      1
## 55         0         1          0          1       0       1      0      1
##    Mayonesa_no Mayonesa_si Calabacín_no Calabacín_si Queso_no Queso_si
## 1            0           1            0            1        0        1
## 2            0           1            0            1        1        0
## 3            0           1            0            1        0        1
## 4            1           0            0            1        0        1
## 5            0           1            0            1        0        1
## 6            0           1            0            1        0        1
## 7            0           1            0            1        0        1
## 8            0           1            0            1        0        1
## 9            0           1            0            1        0        1
## 10           0           1            0            1        0        1
## 11           0           1            0            1        0        1
## 12           0           1            0            1        0        1
## 13           0           1            0            1        0        1
## 14           1           0            0            1        0        1
## 15           1           0            0            1        1        0
## 16           0           1            0            1        0        1
## 17           0           1            0            1        1        0
## 18           0           1            0            1        0        1
## 19           0           1            0            1        0        1
## 20           1           0            0            1        0        1
## 21           0           1            0            1        0        1
## 22           0           1            0            1        0        1
## 23           0           1            1            0        0        1
## 24           0           1            0            1        0        1
## 25           0           1            0            1        1        0
## 26           0           1            0            1        0        1
## 27           0           1            0            1        0        1
## 28           1           0            1            0        0        1
## 29           0           1            0            1        0        1
## 30           0           1            0            1        0        1
## 31           1           0            0            1        0        1
## 32           1           0            0            1        1        0
## 33           0           1            0            1        0        1
## 34           0           1            0            1        0        1
## 35           0           1            0            1        0        1
## 36           0           1            0            1        0        1
## 37           0           1            0            1        0        1
## 38           0           1            1            0        1        0
## 39           0           1            0            1        0        1
## 40           0           1            0            1        0        1
## 41           0           1            0            1        0        1
## 42           0           1            0            1        0        1
## 43           0           1            0            1        0        1
## 44           0           1            1            0        0        1
## 45           0           1            1            0        0        1
## 46           0           1            0            1        0        1
## 47           1           0            0            1        0        1
## 48           0           1            0            1        0        1
## 49           0           1            0            1        0        1
## 50           0           1            0            1        0        1
## 51           1           0            0            1        0        1
## 52           0           1            0            1        0        1
## 53           1           0            0            1        1        0
## 54           0           1            0            1        0        1
## 55           0           1            0            1        0        1
##    Helado_no Helado_si
## 1          0         1
## 2          0         1
## 3          0         1
## 4          0         1
## 5          0         1
## 6          0         1
## 7          0         1
## 8          0         1
## 9          0         1
## 10         0         1
## 11         0         1
## 12         0         1
## 13         0         1
## 14         0         1
## 15         0         1
## 16         0         1
## 17         0         1
## 18         0         1
## 19         0         1
## 20         0         1
## 21         0         1
## 22         1         0
## 23         0         1
## 24         0         1
## 25         0         1
## 26         0         1
## 27         0         1
## 28         0         1
## 29         0         1
## 30         0         1
## 31         0         1
## 32         0         1
## 33         0         1
## 34         0         1
## 35         0         1
## 36         0         1
## 37         0         1
## 38         0         1
## 39         0         1
## 40         0         1
## 41         0         1
## 42         0         1
## 43         0         1
## 44         1         0
## 45         0         1
## 46         0         1
## 47         1         0
## 48         0         1
## 49         0         1
## 50         0         1
## 51         0         1
## 52         0         1
## 53         1         0
## 54         0         1
## 55         0         1

Interpretación de la tabla

Este caso i(1,2,3,…,55) es el individuo u observación y j(1,2,3,…,22) son las categorias.

  • Es 0 cuando el individuo i no está en la categoria j.
  • Es 1 cuando el individuo i si está en la categoria j.

El individuo 1 presenta lo siguiente:
- Síntomas: Si tiene nauseas, no tiene vómitos, si presenta dolor abdominal, si presenta fiebre y también diarrea.
- Comida ingerida: Si ha comido papa, pescado, mayonesa, calabacín, queso y helado.

El individuo 2 presenta lo siguiente:
- Síntomas: No tiene nauseas, no tiene vómitos, no presenta dolor abdominal, no presenta fiebre y tampoco presenta diarrea.
- Comida ingerida: Si ha comido papa, pescado, mayonesa, calabacín y helado pero no ha comido queso.

Descripción de los datos

df_status(tabla_disyuntiva)
##          variable q_zeros p_zeros q_na p_na q_inf p_inf    type unique
## 1       Nausea_no      12   21.82    0    0     0     0 integer      2
## 2       Nausea_si      43   78.18    0    0     0     0 integer      2
## 3      Vómitos_no      22   40.00    0    0     0     0 integer      2
## 4      Vómitos_si      33   60.00    0    0     0     0 integer      2
## 5  Abdominales_no      37   67.27    0    0     0     0 integer      2
## 6  Abdominales_si      18   32.73    0    0     0     0 integer      2
## 7       Fiebre_no      35   63.64    0    0     0     0 integer      2
## 8       Fiebre_si      20   36.36    0    0     0     0 integer      2
## 9      Diarrea_no      35   63.64    0    0     0     0 integer      2
## 10     Diarrea_si      20   36.36    0    0     0     0 integer      2
## 11        Papa_no      52   94.55    0    0     0     0 integer      2
## 12        Papa_si       3    5.45    0    0     0     0 integer      2
## 13         Pez_no      54   98.18    0    0     0     0 integer      2
## 14         Pez_si       1    1.82    0    0     0     0 integer      2
## 15    Mayonesa_no      45   81.82    0    0     0     0 integer      2
## 16    Mayonesa_si      10   18.18    0    0     0     0 integer      2
## 17   Calabacín_no      50   90.91    0    0     0     0 integer      2
## 18   Calabacín_si       5    9.09    0    0     0     0 integer      2
## 19       Queso_no      48   87.27    0    0     0     0 integer      2
## 20       Queso_si       7   12.73    0    0     0     0 integer      2
## 21      Helado_no      51   92.73    0    0     0     0 integer      2
## 22      Helado_si       4    7.27    0    0     0     0 integer      2

Interpretación

  • Para la categoría de los que no presentan nauseas:

  • En total 43(55-12) niños respondieron que no presentaron nauseas.

  • El 78.18(100-21.82)% de los niños respondieron que no presentan nauseas.

  • Esta categoría no presenta na y tampoco valores infinitos.

  • Para la categoría de los que si presentan nauseas:

  • En total 12(55-43) niños respondieron que si presentan nauseas.

  • El 21.82(100-78.18)% de los niños respondieron que si presentan nauseas.

  • Esta categoría no presenta na y tampoco valores infinitos.

# covertir a matriz disyuntiva    
matriz_disyuntiva <- as.matrix(tabla_disyuntiva)

Matriz de Burt

  • La matriz de burt resulta del producto de la transpuesta de la matriz disyuntiva con la matriz disyuntica B = A´x A
t(matriz_disyuntiva) %*% (matriz_disyuntiva) -> matriz_burt  ; matriz_burt
##                Nausea_no Nausea_si Vómitos_no Vómitos_si Abdominales_no
## Nausea_no             43         0         28         15             18
## Nausea_si              0        12          5          7              0
## Vómitos_no            28         5         33          0             17
## Vómitos_si            15         7          0         22              1
## Abdominales_no        18         0         17          1             18
## Abdominales_si        25        12         16         21              0
## Fiebre_no             19         1         18          2             17
## Fiebre_si             24        11         15         20              1
## Diarrea_no            20         0         17          3             17
## Diarrea_si            23        12         16         19              1
## Papa_no                1         2          3          0              0
## Papa_si               42        10         30         22             18
## Pez_no                 1         0          1          0              0
## Pez_si                42        12         32         22             18
## Mayonesa_no           10         0          9          1              8
## Mayonesa_si           33        12         24         21             10
## Calabacín_no           4         1          1          4              1
## Calabacín_si          39        11         32         18             17
## Queso_no               7         0          6          1              5
## Queso_si              36        12         27         21             13
## Helado_no              3         1          3          1              2
## Helado_si             40        11         30         21             16
##                Abdominales_si Fiebre_no Fiebre_si Diarrea_no Diarrea_si Papa_no
## Nausea_no                  25        19        24         20         23       1
## Nausea_si                  12         1        11          0         12       2
## Vómitos_no                 16        18        15         17         16       3
## Vómitos_si                 21         2        20          3         19       0
## Abdominales_no              0        17         1         17          1       0
## Abdominales_si             37         3        34          3         34       3
## Fiebre_no                   3        20         0         18          2       1
## Fiebre_si                  34         0        35          2         33       2
## Diarrea_no                  3        18         2         20          0       0
## Diarrea_si                 34         2        33          0         35       3
## Papa_no                     3         1         2          0          3       3
## Papa_si                    34        19        33         20         32       0
## Pez_no                      1         0         1          0          1       0
## Pez_si                     36        20        34         20         34       3
## Mayonesa_no                 2         8         2          8          2       0
## Mayonesa_si                35        12        33         12         33       3
## Calabacín_no                4         1         4          1          4       0
## Calabacín_si               33        19        31         19         31       3
## Queso_no                    2         5         2          5          2       0
## Queso_si                   35        15        33         15         33       3
## Helado_no                   2         2         2          2          2       0
## Helado_si                  35        18        33         18         33       3
##                Papa_si Pez_no Pez_si Mayonesa_no Mayonesa_si Calabacín_no
## Nausea_no           42      1     42          10          33            4
## Nausea_si           10      0     12           0          12            1
## Vómitos_no          30      1     32           9          24            1
## Vómitos_si          22      0     22           1          21            4
## Abdominales_no      18      0     18           8          10            1
## Abdominales_si      34      1     36           2          35            4
## Fiebre_no           19      0     20           8          12            1
## Fiebre_si           33      1     34           2          33            4
## Diarrea_no          20      0     20           8          12            1
## Diarrea_si          32      1     34           2          33            4
## Papa_no              0      0      3           0           3            0
## Papa_si             52      1     51          10          42            5
## Pez_no               1      1      0           0           1            0
## Pez_si              51      0     54          10          44            5
## Mayonesa_no         10      0     10          10           0            1
## Mayonesa_si         42      1     44           0          45            4
## Calabacín_no         5      0      5           1           4            5
## Calabacín_si        47      1     49           9          41            0
## Queso_no             7      0      7           3           4            1
## Queso_si            45      1     47           7          41            4
## Helado_no            4      0      4           2           2            1
## Helado_si           48      1     50           8          43            4
##                Calabacín_si Queso_no Queso_si Helado_no Helado_si
## Nausea_no                39        7       36         3        40
## Nausea_si                11        0       12         1        11
## Vómitos_no               32        6       27         3        30
## Vómitos_si               18        1       21         1        21
## Abdominales_no           17        5       13         2        16
## Abdominales_si           33        2       35         2        35
## Fiebre_no                19        5       15         2        18
## Fiebre_si                31        2       33         2        33
## Diarrea_no               19        5       15         2        18
## Diarrea_si               31        2       33         2        33
## Papa_no                   3        0        3         0         3
## Papa_si                  47        7       45         4        48
## Pez_no                    1        0        1         0         1
## Pez_si                   49        7       47         4        50
## Mayonesa_no               9        3        7         2         8
## Mayonesa_si              41        4       41         2        43
## Calabacín_no              0        1        4         1         4
## Calabacín_si             50        6       44         3        47
## Queso_no                  6        7        0         1         6
## Queso_si                 44        0       48         3        45
## Helado_no                 3        1        3         4         0
## Helado_si                47        6       45         0        51

Correspondencias Múltiple con el paquete FactoMineR

acm <- CA(matriz_burt,graph=F);acm
## **Results of the Correspondence Analysis (CA)**
## The row variable has  22  categories; the column variable has 22 categories
## The chi square of independence between the two variables is equal to 1129.964 (p-value =  5.353199e-62 ).
## *The results are available in the following objects:
## 
##    name              description                   
## 1  "$eig"            "eigenvalues"                 
## 2  "$col"            "results for the columns"     
## 3  "$col$coord"      "coord. for the columns"      
## 4  "$col$cos2"       "cos2 for the columns"        
## 5  "$col$contrib"    "contributions of the columns"
## 6  "$row"            "results for the rows"        
## 7  "$row$coord"      "coord. for the rows"         
## 8  "$row$cos2"       "cos2 for the rows"           
## 9  "$row$contrib"    "contributions of the rows"   
## 10 "$call"           "summary called parameters"   
## 11 "$call$marge.col" "weights of the columns"      
## 12 "$call$marge.row" "weights of the rows"
# autovalores
acm$eig
##          eigenvalue percentage of variance cumulative percentage of variance
## dim 1  1.123801e-01           6.618701e+01                          66.18701
## dim 2  1.667709e-02           9.822082e+00                          76.00909
## dim 3  1.152370e-02           6.786959e+00                          82.79605
## dim 4  9.192879e-03           5.414208e+00                          88.21026
## dim 5  6.214605e-03           3.660133e+00                          91.87039
## dim 6  5.053761e-03           2.976446e+00                          94.84684
## dim 7  3.619924e-03           2.131979e+00                          96.97882
## dim 8  3.110628e-03           1.832025e+00                          98.81084
## dim 9  1.697916e-03           9.999990e-01                          99.81084
## dim 10 1.700829e-04           1.001714e-01                          99.91101
## dim 11 1.510953e-04           8.898857e-02                         100.00000
## dim 12 5.114318e-33           3.012112e-30                         100.00000
## dim 13 1.897567e-33           1.117585e-30                         100.00000
## dim 14 1.216386e-33           7.163988e-31                         100.00000
## dim 15 5.026050e-34           2.960126e-31                         100.00000
## dim 16 3.096799e-34           1.823881e-31                         100.00000
## dim 17 1.956564e-34           1.152331e-31                         100.00000
## dim 18 1.241575e-34           7.312338e-32                         100.00000
## dim 19 8.519966e-35           5.017891e-32                         100.00000
## dim 20 4.759511e-35           2.803146e-32                         100.00000
## dim 21 2.116069e-35           1.246273e-32                         100.00000

Varianza Explicada

DT::datatable(data =round(acm$eig[,1:2],4), 
              extensions = 'Scroller',
              options = list(dom='tp',  
                             class = 'stripe compact hover cell-border'))
# Scree Plot de los Autovalores
factoextra::fviz_eig(acm, addlabels = TRUE, ylim = c(0, 70), barcolor="red4", barfill="red4", linecolor="black")+
  ggthemes::theme_fivethirtyeight(base_size =20, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text()) +
  ggplot2::labs(title = "Varianza Explicada", 
                subtitle = "Por cada Dimensión")+
  ggplot2::ylab('% Variación Explicada') +
  ggplot2::xlab("Dimensiones") +
  ggplot2::geom_hline(yintercept = (100/11), size=1)

Interpretación * En la gráfica podemos ver la varianza explicada de cada dimensión de las 10 dimensiones que mas aportan del total de 22 dimensiones.

  • En la linea horizontal de color negro se muestra el valor de la varianza explicada que tomaría cada dimensión si las 11 aportaran lo mismo.

Varianza Acumulada Explicada

acumulado <- acm$eig[1:11,3]
dimensión <- c(1:11)
datos1 <- data.frame(cbind(dimensión, acumulado))

DT::datatable(data =round(datos1[,1:2],4), 
              extensions = 'Scroller',
              options = list(dom='tp',  
                             class = 'stripe compact hover cell-border'))

Varianza Acumulada Explicada

ggplot2::ggplot(data = datos1, ggplot2::aes(x=dimensión, y=acumulado))+
  ggplot2::geom_bar(stat = "identity", fill="red4", color="red4") +
  ggplot2::geom_line(color="black")+
  ggplot2::geom_point(color="black") +
  ggplot2::geom_hline(yintercept = 80, size=1) +
  ggplot2::geom_text(label= paste(round(acumulado,1),"%"), color="black", size=3, vjust = 1.4) +
  ggthemes::theme_fivethirtyeight(base_size =17, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text()) +
  ggplot2::labs(title = "Varianza Acumulada Explicada", 
                subtitle = "Por cada Dimensión")+
  ggplot2::ylab('% Variación Explicada') +
  ggplot2::xlab("Dimensiones") +
  ggplot2::scale_x_continuous(breaks = c(1:9)) 

Interpretación

  • En esta gráfica de barras podemos observar la varianza explicada pero acumulada de las 12 dimensiones que aportan algo.
  • En la linea horizontal nos muestra hasta que dimensiones obtenemos cerca del 80% de la varianza explicada de los datos.
  • Además apartir de de la 3ra dimensión el crecimiento es menor a las demas dimensiones.
  • Con estos criterios podemos decir que con 2 dimensiones es sufiente para el análisis de los datos.

Interpretación de los Indicadores del ACM

summary(acm,nb.dec = 3, ncp = 2)
## 
## Call:
## CA(X = matriz_burt, graph = F) 
## 
## The chi square of independence between the two variables is equal to 1129.964 (p-value =  5.353199e-62 ).
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.112   0.017   0.012   0.009   0.006   0.005   0.004
## % of var.             66.187   9.822   6.787   5.414   3.660   2.976   2.132
## Cumulative % of var.  66.187  76.009  82.796  88.210  91.870  94.847  96.979
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.003   0.002   0.000   0.000   0.000   0.000   0.000
## % of var.              1.832   1.000   0.100   0.089   0.000   0.000   0.000
## Cumulative % of var.  98.811  99.811  99.911 100.000 100.000 100.000 100.000
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.000   0.000   0.000   0.000   0.000   0.000   0.000
## % of var.              0.000   0.000   0.000   0.000   0.000   0.000   0.000
## Cumulative % of var. 100.000 100.000 100.000 100.000 100.000 100.000 100.000
## 
## Rows (the 10 first)
##                  Iner*1000    Dim.1    ctr   cos2    Dim.2    ctr   cos2  
## Nausea_no      |     2.895 |  0.155  1.516  0.588 |  0.044  0.811  0.047 |
## Nausea_si      |    10.375 | -0.555  5.432  0.588 | -0.156  2.906  0.047 |
## Vómitos_no     |     6.251 |  0.277  3.734  0.671 | -0.147  7.072  0.189 |
## Vómitos_si     |     9.377 | -0.416  5.601  0.671 |  0.221 10.608  0.189 |
## Abdominales_no |    17.649 |  0.763 15.418  0.982 | -0.013  0.029  0.000 |
## Abdominales_si |     8.586 | -0.371  7.500  0.982 |  0.006  0.014  0.000 |
## Fiebre_no      |    15.871 |  0.678 13.541  0.959 | -0.063  0.783  0.008 |
## Fiebre_si      |     9.069 | -0.388  7.738  0.959 |  0.036  0.447  0.008 |
## Diarrea_no     |    16.039 |  0.685 13.797  0.967 | -0.001  0.000  0.000 |
## Diarrea_si     |     9.165 | -0.391  7.884  0.967 |  0.001  0.000  0.000 |
## 
## Columns (the 10 first)
##                  Iner*1000    Dim.1    ctr   cos2    Dim.2    ctr   cos2  
## Nausea_no      |     2.895 |  0.155  1.516  0.588 |  0.044  0.811  0.047 |
## Nausea_si      |    10.375 | -0.555  5.432  0.588 | -0.156  2.906  0.047 |
## Vómitos_no     |     6.251 |  0.277  3.734  0.671 | -0.147  7.072  0.189 |
## Vómitos_si     |     9.377 | -0.416  5.601  0.671 |  0.221 10.608  0.189 |
## Abdominales_no |    17.649 |  0.763 15.418  0.982 | -0.013  0.029  0.000 |
## Abdominales_si |     8.586 | -0.371  7.500  0.982 |  0.006  0.014  0.000 |
## Fiebre_no      |    15.871 |  0.678 13.541  0.959 | -0.063  0.783  0.008 |
## Fiebre_si      |     9.069 | -0.388  7.738  0.959 |  0.036  0.447  0.008 |
## Diarrea_no     |    16.039 |  0.685 13.797  0.967 | -0.001  0.000  0.000 |
## Diarrea_si     |     9.165 | -0.391  7.884  0.967 |  0.001  0.000  0.000 |

Contribuciones Absolutas

factoextra::fviz_contrib(acm,axes = 1, fill = "red4", color = "red4") +
  ggthemes::theme_fivethirtyeight(base_size =16, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 axis.text.x = ggplot2::element_text(angle=40, hjust=1),
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text())+
  ggplot2::labs(title = "Contribución de Categorias", subtitle = "A la Dimensión 1")+
  ggplot2::ylab('% Contribución') +
  ggplot2::xlab("Categorias")

Interpretación * Las gráfica muestra la contribución de las 22 diferentes categorías a la respectiva dimensión, la linea roja representa el valor de la contribución de las categorías si todas aportaran lo mismo.

  • El 15.5% de la inercia (variabilidad) de la dimension 1 es explicada por los que no presentan dolor Abdominal seguido de los que no presentan Diarrea y Fiebre con 13.5%.
  • Las variables Pez, Calabacín y Papa no contribuyen a la dimension 1.
factoextra::fviz_contrib(acm, axes = 2, fill = "red4", color = "red4") +
  ggthemes::theme_fivethirtyeight(base_size =16, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 axis.text.x = ggplot2::element_text(angle=40, hjust=1),
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text()) +
  ggplot2::labs(title = "Contribución de Categorias", subtitle = "A la Dimensión 2")+
  ggplot2::ylab('% Contribución') +
  ggplot2::xlab("Categorias") 

Interpretación * Las gráfica muestra la contribución de las 22 diferentes categorias a la respectiva dimensión, la linea roja representa el valor de la contribución de las categorías si todas aportaran lo mismo.

  • El 29% de la inercia (variabilidad) de la dimensión 2 es explicada por la categoría de los que no comen calabacín seguido de los que no comen papa con un 26%.

  • Las categorías de las variables Diarrea, Abdominal y Pez no contribuyen a la dimension 2.

Contribuciones relativas

row <- get_ca_row(acm)
col <- get_ca_col(acm)


row$cos2
##                     Dim 1        Dim 2        Dim 3       Dim 4        Dim 5
## Nausea_no      0.58839687 4.671545e-02 1.858788e-01 0.002682852 1.051316e-02
## Nausea_si      0.58839687 4.671545e-02 1.858788e-01 0.002682852 1.051316e-02
## Vómitos_no     0.67120804 1.886734e-01 6.686919e-03 0.062630370 1.892474e-03
## Vómitos_si     0.67120804 1.886734e-01 6.686919e-03 0.062630370 1.892474e-03
## Abdominales_no 0.98170863 2.781528e-04 4.696213e-06 0.003813770 6.487527e-04
## Abdominales_si 0.98170863 2.781528e-04 4.696213e-06 0.003813770 6.487527e-04
## Fiebre_no      0.95886575 8.228081e-03 2.115846e-03 0.007184734 5.606949e-05
## Fiebre_si      0.95886575 8.228081e-03 2.115846e-03 0.007184734 5.606949e-05
## Diarrea_no     0.96669435 2.022966e-06 1.523514e-03 0.011499899 1.788351e-03
## Diarrea_si     0.96669435 2.022966e-06 1.523514e-03 0.011499899 1.788351e-03
## Papa_no        0.08866774 4.683505e-01 2.595814e-01 0.007113821 7.661623e-02
## Papa_si        0.08866774 4.683505e-01 2.595814e-01 0.007113821 7.661623e-02
## Pez_no         0.02485357 3.657755e-02 2.813444e-01 0.572208322 3.637178e-04
## Pez_si         0.02485357 3.657755e-02 2.813444e-01 0.572208322 3.637178e-04
## Mayonesa_no    0.75648300 2.637172e-02 2.449869e-02 0.017495759 1.035692e-02
## Mayonesa_si    0.75648300 2.637172e-02 2.449869e-02 0.017495759 1.035692e-02
## Calabacín_no   0.04964651 5.592211e-01 5.523308e-02 0.009744231 9.695350e-02
## Calabacín_si   0.04964651 5.592211e-01 5.523308e-02 0.009744231 9.695350e-02
## Queso_no       0.50442868 5.345034e-02 9.712989e-03 0.014049315 2.515370e-01
## Queso_si       0.50442868 5.345034e-02 9.712989e-03 0.014049315 2.515370e-01
## Helado_no      0.09577659 1.779062e-01 3.026967e-01 0.215652290 1.286114e-01
## Helado_si      0.09577659 1.779062e-01 3.026967e-01 0.215652290 1.286114e-01
col$cos2
##                     Dim 1        Dim 2        Dim 3       Dim 4        Dim 5
## Nausea_no      0.58839687 4.671545e-02 1.858788e-01 0.002682852 1.051316e-02
## Nausea_si      0.58839687 4.671545e-02 1.858788e-01 0.002682852 1.051316e-02
## Vómitos_no     0.67120804 1.886734e-01 6.686919e-03 0.062630370 1.892474e-03
## Vómitos_si     0.67120804 1.886734e-01 6.686919e-03 0.062630370 1.892474e-03
## Abdominales_no 0.98170863 2.781528e-04 4.696213e-06 0.003813770 6.487527e-04
## Abdominales_si 0.98170863 2.781528e-04 4.696213e-06 0.003813770 6.487527e-04
## Fiebre_no      0.95886575 8.228081e-03 2.115846e-03 0.007184734 5.606949e-05
## Fiebre_si      0.95886575 8.228081e-03 2.115846e-03 0.007184734 5.606949e-05
## Diarrea_no     0.96669435 2.022966e-06 1.523514e-03 0.011499899 1.788351e-03
## Diarrea_si     0.96669435 2.022966e-06 1.523514e-03 0.011499899 1.788351e-03
## Papa_no        0.08866774 4.683505e-01 2.595814e-01 0.007113821 7.661623e-02
## Papa_si        0.08866774 4.683505e-01 2.595814e-01 0.007113821 7.661623e-02
## Pez_no         0.02485357 3.657755e-02 2.813444e-01 0.572208322 3.637178e-04
## Pez_si         0.02485357 3.657755e-02 2.813444e-01 0.572208322 3.637178e-04
## Mayonesa_no    0.75648300 2.637172e-02 2.449869e-02 0.017495759 1.035692e-02
## Mayonesa_si    0.75648300 2.637172e-02 2.449869e-02 0.017495759 1.035692e-02
## Calabacín_no   0.04964651 5.592211e-01 5.523308e-02 0.009744231 9.695350e-02
## Calabacín_si   0.04964651 5.592211e-01 5.523308e-02 0.009744231 9.695350e-02
## Queso_no       0.50442868 5.345034e-02 9.712989e-03 0.014049315 2.515370e-01
## Queso_si       0.50442868 5.345034e-02 9.712989e-03 0.014049315 2.515370e-01
## Helado_no      0.09577659 1.779062e-01 3.026967e-01 0.215652290 1.286114e-01
## Helado_si      0.09577659 1.779062e-01 3.026967e-01 0.215652290 1.286114e-01
factoextra::fviz_cos2(acm,axes = 1, choice = "row", fill = "#5F9EA0", color = "#5F9EA0") +
  ggthemes::theme_fivethirtyeight(base_size =16, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 axis.text.x = ggplot2::element_text(angle=40, hjust=1),
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text())+
  ggplot2::labs(title = "Contribución de la Dimensión 1", subtitle = "A las categorias")+
  ggplot2::ylab('Contribución') +
  ggplot2::xlab("Categorias")

Interpretación

  • La dimensión 1 contribuye en un 98.17 % a la inercia de los que no presentan dolor Abdominal.

  • La dimensión 1 contribuye en un 96.67 % a la inercia de los que si presentan Diarrea.

  • La dimensión 1 contribuye en un 95.88 % a la inercia de los que no presentan fiebre.

factoextra::fviz_cos2(acm,axes = 2, choice = "row", fill = "#5F9EA0", color = "#5F9EA0") +
  ggthemes::theme_fivethirtyeight(base_size =16, base_family = "serif") +
  ggplot2::theme(panel.grid.major = ggplot2::element_blank(),
                 panel.grid.minor = ggplot2::element_blank(), 
                 axis.text.x = ggplot2::element_text(angle=40, hjust=1),
                 plot.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 panel.background = ggplot2::element_rect(fill = 'white', colour = 'white'), 
                 axis.title.y  = ggplot2::element_text(), 
                 axis.title.x = ggplot2::element_text())+
  ggplot2::labs(title = "Contribución de la Dimensión 2 ", subtitle = "A las categorias")+
  ggplot2::ylab('Contribución') +
  ggplot2::xlab("Categorias")

Interpretación

  • La dimensión 2 contribuye en un 55.9 % a la inercia de los que si comen Calabacín.

  • La dimensión 2 contribuye en un 46.68 % a la inercia de los que no comen papa.

Mapa Perceptual

res.mca <- MCA(datos,method = 'Burt') 

Interpretación para las categorías:

  • Los niños que comieron queso y mayonesa están asociados a los niños que presentaron diarrea, dolor abdominal, vómitos y fiebre.

  • Los niños que no comieron papa y pescado están asociados con los niños que no vomitaron.

  • Los niños que presentaron dolor abdominal y fiebre están asociados con los niños que presentaron nauseas y vómitos.

Interpretación para las variables:

  • Las variables fiebre,Abdominal, diarrea, Mayonesa y Nausea está siendo mejor explicada por la dimensión 1.

  • Las variables Calabacín, papa y Helado está siendo mejor explicadas por la dimensión 2.

Categorías con su respectivo componente

contri_abs <- data.frame(acm$row$contrib[,1:2])
contri_abs %>% rename('contri_abs1'= Dim.1,'contri_abs2'= Dim.2 )->contri_abs
contri_rel<- data.frame(acm$row$cos2[,1:2])
contri_rel %>% rename('contri_rel1'= Dim.1,'contri_rel2'= Dim.2 )->contri_rel
dimen <- data.frame(acm$row$coord[,1:2])

resumen <- cbind(dimen,contri_abs,contri_rel); resumen
##                       Dim.1         Dim.2  contri_abs1  contri_abs2 contri_rel1
## Nausea_no       0.154817098  0.0436228456  1.515868554 8.110001e-01  0.58839687
## Nausea_si      -0.554761267 -0.1563151966  5.431862319 2.906084e+00  0.58839687
## Vómitos_no      0.277353205 -0.1470482930  3.733666829 7.072263e+00  0.67120804
## Vómitos_si     -0.416029807  0.2205724395  5.600500244 1.060839e+01  0.67120804
## Abdominales_no  0.763123851 -0.0128453342 15.417636578 2.943661e-02  0.98170863
## Abdominales_si -0.371249441  0.0062490815  7.500471849 1.432051e-02  0.98170863
## Fiebre_no       0.678480422 -0.0628503510 13.541285078 7.830146e-01  0.95886575
## Fiebre_si      -0.387703098  0.0359144863  7.737877188 4.474369e-01  0.95886575
## Diarrea_no      0.684844393 -0.0009906988 13.796503952 1.945529e-04  0.96669435
## Diarrea_si     -0.391339653  0.0005661136  7.883716544 1.111731e-04  0.96669435
## Papa_no        -0.409525764 -0.9412043063  0.740012332 2.633986e+01  0.08866774
## Papa_si         0.023626486  0.0543002484  0.042693019 1.519608e+00  0.08866774
## Pez_no         -0.359432446 -0.4360439009  0.190015838 1.884451e+00  0.02485357
## Pez_si          0.006656156  0.0080748871  0.003518812 3.489724e-02  0.02485357
## Mayonesa_no     0.760087781  0.1419166736  8.497335124 1.996141e+00  0.75648300
## Mayonesa_si    -0.168908396 -0.0315370386  1.888296694 4.435870e-01  0.75648300
## Calabacín_no   -0.226230821  0.7592751317  0.376381955 2.856885e+01  0.04964651
## Calabacín_si    0.022623082 -0.0759275132  0.037638196 2.856885e+00  0.04964651
## Queso_no        0.668516675  0.2176143851  4.601270591 3.285471e+00  0.50442868
## Queso_si       -0.097492015 -0.0317354312  0.671018628 4.791313e-01  0.50442868
## Helado_no       0.353408093  0.4816619086  0.734798428 9.197484e+00  0.09577659
## Helado_si      -0.027718282 -0.0377774046  0.057631249 7.213713e-01  0.09577659
##                 contri_rel2
## Nausea_no      4.671545e-02
## Nausea_si      4.671545e-02
## Vómitos_no     1.886734e-01
## Vómitos_si     1.886734e-01
## Abdominales_no 2.781528e-04
## Abdominales_si 2.781528e-04
## Fiebre_no      8.228081e-03
## Fiebre_si      8.228081e-03
## Diarrea_no     2.022966e-06
## Diarrea_si     2.022966e-06
## Papa_no        4.683505e-01
## Papa_si        4.683505e-01
## Pez_no         3.657755e-02
## Pez_si         3.657755e-02
## Mayonesa_no    2.637172e-02
## Mayonesa_si    2.637172e-02
## Calabacín_no   5.592211e-01
## Calabacín_si   5.592211e-01
## Queso_no       5.345034e-02
## Queso_si       5.345034e-02
## Helado_no      1.779062e-01
## Helado_si      1.779062e-01
Categorias Componente 1 Componente 2
Nausea_no CR(+)
Nausea_si CA(-)
vómitos_no CA(-)
vómitos_si CR(-)
abdominales_no CA(+)
abdominales_si CA(-)
fiebre_no CA(+)
fiebre_si CA(-)
diarrea_no CA(+)
diarrea_si CA(-)
papa_no CA(-)
papa_si CR(+)
pez_no CR(-)
pez_si CR(+)
mayonesa_no CA(+)
mayonesa_si CR(-)
calabacín_no CA(+)
calabacín_si CR(-)
queso_no CA(+)
queso_si CR(-)
helado_no CR(+)
helado_si CR(-)

Interpretación para la tabla:

La interpretación del componente 1 y 2 se da de la siguiente manera:

  • Los que son positivos presentan una asociación o relación.

  • Los que son negativos presentan una asociación o relación.

  • Si los signos son + y - entonces no presentan una asociación las categorias.

Conclusiones finales

  • Como ya sabemos el objetivo del análisis de correspondencia simple y múltiple es el estudio de la asociación entre las categorías de las variables usando el mapa perceptual para su interpretación, en el caso de estudio representamos las 22 categorías en 2 dimensiones usando el mapa perceptual.

  • Para el caso de estudio la cantidad de dimensiones ideales serían 11 (N° total de categorías – N° variables), ya que estas representan el 100% de la inercia total; sin embargo, representar en 11 dimensiones su interpretación no es muy clara en el mapa perceptual debido a esto usamos 2 dimensiones, ya que estas representan el 76% de la inercia total y su interpretación en el mapa perceptual es más clara.

  • Cuando hacemos mención a la Matriz de Burt siendo esta una matriz cuadrada simétrica, esta se forma por tablas de contingencia del cruce de los pares de variables y su diagonal contiene el cruce de las variables por ellas mismas.

Bibliografía

  • Santiago de la Fuente Fernandez. (2011). Análisis correspondencias simples y múltiples. Fac. Ciencias Económicas y Empresariales: Universidad Autónoma de Madrid.

  • MICHAEL GREENACRE. (2008). Análisis de correspondencias múltiples. En La práctica del análisis de correspondencias (11). Universidad Pompeu Fabra: Fundación BBVA.

  • _Peter Olejua. (2017). Análisis de correspondencia (CA). 22 de julio 2022, de Pontificia Universidad Javeriana, Bogotá Sitio web: https://rstudio-pubs-static.s3.amazonaws.com/302601_c611260b6f2f4754982ea2b3b495f9ce.html_