Análisis de Correspondencia Múltiple


Este código corresponde al proyecto Estudio de mercado para la elaboración de un nuevo prototipo de Tapabocas.

Cargar las librerias necesarias.

library(FactoMineR)
library(ade4)
## 
## Attaching package: 'ade4'
## The following object is masked from 'package:FactoMineR':
## 
##     reconst
library(FactoClass)
## Loading required package: ggplot2
## Loading required package: ggrepel
## Loading required package: xtable
## Loading required package: scatterplot3d
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(missMDA)
library(readxl)


Cargar la base de datos.

(Esta base esta disponible en el siguiente link: https://docs.google.com/spreadsheets/d/1fsrUd2wR0T0SpUPVBatWuIRS74tCkyfW/edit?usp=sharing&ouid=101816877119135543848&rtpof=true&sd=true)

base <- read_excel("cubrebocas.xlsx")


Cambiar las varibles a factores.

names(base)
##  [1] "matricula"                     "licenciatura"                 
##  [3] "sexo"                          "edad"                         
##  [5] "leido"                         "interes.proteger"             
##  [7] "interesante.moleste"           "interesante.lavable"          
##  [9] "interesante.Facildequitar"     "interesante.estético"         
## [11] "interesante.precio"            "importancia.precio"           
## [13] "importancia.moleste"           "importancia.estetico"         
## [15] "importancia.lavable"           "importancia.facildequitar"    
## [17] "precio.de.interes"             "gustaría.cubrebocas.artesanal"
## [19] "pref.diseño.a.proteccion"      "crees.que.es.seguro"          
## [21] "cubrebocas.usas.más"
Matricula <- as.factor(base$matricula)
Sexo <- as.factor(base$sexo)
Edad <- as.factor(base$edad)
Has.leído <- as.factor(base$leido)
Interés.proteger <- as.factor(base$interes.proteger)
Interés.moleste <- as.factor(base$interesante.moleste)
Interés.lavable <-as.factor(base$interesante.lavable)
Interés.fácildequitar <- as.factor(base$interesante.Facildequitar)
Interés.estético <- as.factor(base$importancia.estetico)
Interés.precio <- as.factor(base$interesante.precio)
Importancia.precio <- as.factor(base$importancia.precio)
Importancia.moleste <- as.factor(base$importancia.moleste)
Importancia.estético <- as.factor(base$importancia.estetico)
Importancia.lavable <- as.factor(base$importancia.lavable)
Importancia.fácildequitar <- as.factor(base$importancia.facildequitar)
Precio <- as.factor(base$precio.de.interes)
Interés.artesanal <- as.factor(base$gustaría.cubrebocas.artesanal)
Consideras.seguro <- as.factor(base$crees.que.es.seguro)
Cubrebocas.usas <- as.factor(base$cubrebocas.usas.más)
Prefieres.diseño <- as.factor(base$pref.diseño.a.proteccion)



Base de datos con las variables.
Base <- cbind.data.frame(Sexo,Edad,Has.leído,Interés.proteger,Interés.moleste,Interés.fácildequitar,Interés.estético,Interés.precio,Importancia.precio,Importancia.moleste,Importancia.estético,Importancia.lavable,Importancia.fácildequitar,Precio,Interés.artesanal,Consideras.seguro,Cubrebocas.usas,Prefieres.diseño)
Base
##         Sexo Edad Has.leído Interés.proteger                 Interés.moleste
## 1   Femenino   20        Sí               Sí                     Interesante
## 2  Masculino   20        Sí               Sí                 Muy interesante
## 3   Femenino   19        Sí               Sí              La más interesante
## 4   Femenino   19        Sí               Sí                 Muy interesante
## 5   Femenino   18        No               Sí              La más interesante
## 6   Femenino   20        Sí               Sí                     Interesante
## 7  Masculino   20        Sí               Sí                Poco interesante
## 8  Masculino   23        Sí               Sí              La más interesante
## 9   Femenino   21        Sí               Sí                     Interesante
## 10 Masculino   19        Sí               Sí                 Muy interesante
## 11 Masculino   20        Sí               Sí                     Interesante
## 12  Femenino   20        Sí               Sí              La más interesante
## 13  Femenino   19        No               Sí                Poco interesante
## 14  Femenino   19        Sí               Sí                 Muy interesante
## 15  Femenino   20        Sí               Sí                Poco interesante
## 16  Femenino   22        Sí               Sí              La más interesante
## 17 Masculino   24        Sí               Sí                 Muy interesante
## 18  Femenino   18        Sí               Sí              La más interesante
## 19 Masculino   25        Sí               Sí La más interesante, Interesante
## 20  Femenino   18        Sí               Sí                 Muy interesante
## 21  Femenino   24        Sí               Sí                     Interesante
## 22  Femenino   22        No               Sí                     Interesante
## 23  Femenino   22        Sí         No lo sé              La más interesante
## 24 Masculino   21        No               Sí              La más interesante
## 25 Masculino   21        Sí               Sí                     Interesante
## 26  Femenino   22        Sí               Sí La más interesante, Interesante
## 27  Femenino   23        Sí               Sí                 Muy interesante
## 28  Femenino   22        Sí               Sí                     Interesante
## 29  Femenino   23        Sí               Sí                Poco interesante
## 30  Femenino   23        Sí               Sí                 Muy interesante
## 31 Masculino   25        Sí               Sí              La más interesante
## 32  Femenino   22        Sí               Sí              La más interesante
## 33  Femenino   19        Sí               Sí              La más interesante
## 34  Femenino   22        Sí               Sí                     Interesante
## 35 Masculino   21        Sí               Sí                 Muy interesante
## 36 Masculino   28        Sí               Sí                 Muy interesante
##    Interés.fácildequitar  Interés.estético                  Interés.precio
## 1            Interesante   Poco importante                 Muy interesante
## 2            Interesante        Importante                 Muy interesante
## 3     La más interesante    Muy importante                 Muy interesante
## 4        Muy interesante   Nada importante              La más interesante
## 5            Interesante        Importante              La más interesante
## 6        Muy interesante   Poco importante              La más interesante
## 7       Poco interesante        Importante                 Muy interesante
## 8            Interesante   Nada importante                Poco interesante
## 9       Poco interesante        Importante                Nada interesante
## 10       Muy interesante   Nada importante                     Interesante
## 11           Interesante   Poco importante                     Interesante
## 12    La más interesante    Muy importante              La más interesante
## 13      Nada interesante    Muy importante                     Interesante
## 14       Muy interesante   Nada importante                 Muy interesante
## 15           Interesante   Nada importante                Poco interesante
## 16       Muy interesante   Nada importante              La más interesante
## 17           Interesante   Poco importante              La más interesante
## 18    La más interesante   Nada importante                 Muy interesante
## 19      Poco interesante La más importante              La más interesante
## 20       Muy interesante   Nada importante              La más interesante
## 21       Muy interesante La más importante                 Muy interesante
## 22           Interesante        Importante La más interesante, Interesante
## 23    La más interesante        Importante              La más interesante
## 24      Nada interesante   Nada importante La más interesante, Interesante
## 25       Muy interesante    Muy importante                 Muy interesante
## 26    La más interesante   Poco importante              La más interesante
## 27           Interesante   Poco importante              La más interesante
## 28       Muy interesante   Nada importante              La más interesante
## 29      Poco interesante   Nada importante                Poco interesante
## 30           Interesante        Importante                 Muy interesante
## 31           Interesante   Poco importante                     Interesante
## 32    La más interesante La más importante              La más interesante
## 33           Interesante    Muy importante                Poco interesante
## 34      Poco interesante   Nada importante                     Interesante
## 35           Interesante    Muy importante                 Muy interesante
## 36           Interesante        Importante                 Muy interesante
##    Importancia.precio Importancia.moleste Importancia.estético
## 1          Importante   La más importante      Poco importante
## 2   La más importante      Muy importante           Importante
## 3          Importante     Poco importante       Muy importante
## 4          Importante      Muy importante      Nada importante
## 5     Nada importante     Poco importante           Importante
## 6   La más importante          Importante      Poco importante
## 7     Poco importante     Nada importante           Importante
## 8     Poco importante   La más importante      Nada importante
## 9   La más importante      Muy importante           Importante
## 10  La más importante     Poco importante      Nada importante
## 11     Muy importante   La más importante      Poco importante
## 12  La más importante          Importante       Muy importante
## 13  La más importante     Poco importante       Muy importante
## 14         Importante     Poco importante      Nada importante
## 15  La más importante     Poco importante      Nada importante
## 16  La más importante          Importante      Nada importante
## 17     Muy importante          Importante      Poco importante
## 18         Importante   La más importante      Nada importante
## 19     Muy importante          Importante    La más importante
## 20  La más importante      Muy importante      Nada importante
## 21     Muy importante   La más importante    La más importante
## 22  La más importante      Muy importante           Importante
## 23  La más importante   La más importante           Importante
## 24         Importante   La más importante      Nada importante
## 25     Muy importante          Importante       Muy importante
## 26     Muy importante          Importante      Poco importante
## 27     Muy importante          Importante      Poco importante
## 28  La más importante      Muy importante      Nada importante
## 29         Importante          Importante      Nada importante
## 30  La más importante      Muy importante           Importante
## 31     Muy importante     Poco importante      Poco importante
## 32  La más importante   La más importante    La más importante
## 33    Nada importante      Muy importante       Muy importante
## 34  La más importante      Muy importante      Nada importante
## 35  La más importante          Importante       Muy importante
## 36     Muy importante   La más importante           Importante
##    Importancia.lavable Importancia.fácildequitar      Precio Interés.artesanal
## 1       Muy importante           Nada importante   hasta $50                Sí
## 2      Poco importante           Nada importante $101 a $150                Sí
## 3    La más importante           Nada importante   hasta $50                Sí
## 4    La más importante           Poco importante   hasta $50                Sí
## 5    La más importante            Muy importante   hasta $50                No
## 6      Nada importante            Muy importante   hasta $50                Sí
## 7       Muy importante         La más importante   hasta $50                Sí
## 8       Muy importante                Importante   hasta $50                Sí
## 9      Poco importante           Nada importante $101 a $150                No
## 10          Importante            Muy importante   hasta $50                No
## 11          Importante           Nada importante  $51 a $100                Sí
## 12     Nada importante           Poco importante  $51 a $100                Sí
## 13          Importante           Nada importante   hasta $50                Sí
## 14   La más importante            Muy importante   hasta $50                Sí
## 15          Importante            Muy importante   hasta $50                Sí
## 16     Poco importante            Muy importante   hasta $50                Sí
## 17   La más importante           Nada importante   hasta $50                Sí
## 18     Poco importante            Muy importante   hasta $50                Sí
## 19     Poco importante           Poco importante   hasta $50                Sí
## 20     Poco importante                Importante  $51 a $100                Sí
## 21   La más importante         La más importante   hasta $50                Sí
## 22     Poco importante           Nada importante  $51 a $100                Sí
## 23   La más importante         La más importante   hasta $50                Sí
## 24      Muy importante           Poco importante   hasta $50                No
## 25      Muy importante                Importante   hasta $50                Sí
## 26   La más importante           Nada importante   hasta $50                Sí
## 27   La más importante           Nada importante   hasta $50                Sí
## 28     Poco importante                Importante   hasta $50                No
## 29     Poco importante           Poco importante  No pagaría                No
## 30     Nada importante           Poco importante  $51 a $100                Sí
## 31          Importante           Poco importante $101 a $150                Sí
## 32   La más importante         La más importante   hasta $50                No
## 33     Poco importante           Poco importante  $51 a $100                No
## 34          Importante           Poco importante   hasta $50                No
## 35     Poco importante           Nada importante   hasta $50                No
## 36     Nada importante           Poco importante   hasta $50                No
##    Consideras.seguro       Cubrebocas.usas Prefieres.diseño
## 1                 Sí Mascarilla quirúrgica               Sí
## 2            Tal vez                  KN95               Sí
## 3            Tal vez                  KN95               No
## 4            Tal vez                  KN95               No
## 5                 Sí Mascarilla quirúrgica               Sí
## 6                 Sí                  KN95               No
## 7            Tal vez Mascarilla quirúrgica               No
## 8                 Sí       Mascara de tela               No
## 9                 Sí Mascarilla quirúrgica               No
## 10                Sí Mascarilla quirúrgica               No
## 11                Sí Mascarilla quirúrgica               No
## 12                Sí                  KN95               No
## 13                Sí Mascarilla quirúrgica               Sí
## 14                Sí       Mascara de tela               No
## 15                Sí                  KN95               No
## 16           Tal vez Mascarilla quirúrgica               Sí
## 17           Tal vez                  KN95               No
## 18                Sí                  KN95               Sí
## 19                Sí                  KN95               Sí
## 20                Sí Mascarilla quirúrgica               No
## 21           Tal vez                  KN95               Sí
## 22                Sí                  KN95               No
## 23           Tal vez                  KN95               Sí
## 24             No sé                  KN95               No
## 25           Tal vez       Carbón activado               No
## 26                Sí                  KN95               No
## 27                Sí Mascarilla quirúrgica               No
## 28                No Mascarilla quirúrgica               No
## 29           Tal vez                  KN95               No
## 30                Sí                  KN95               No
## 31                Sí                  KN95               No
## 32                Sí                  KN95               Sí
## 33                Sí Mascarilla quirúrgica               No
## 34                Sí                  KN95               No
## 35                Sí Mascarilla quirúrgica               No
## 36           Tal vez Mascarilla quirúrgica               No


Vector con el número de categorías por variable.

cats = apply(Base, 2, function(x) nlevels(as.factor(x)))
cats
##                      Sexo                      Edad                 Has.leído 
##                         2                         9                         2 
##          Interés.proteger           Interés.moleste     Interés.fácildequitar 
##                         2                         5                         5 
##          Interés.estético            Interés.precio        Importancia.precio 
##                         5                         6                         5 
##       Importancia.moleste      Importancia.estético       Importancia.lavable 
##                         5                         5                         5 
## Importancia.fácildequitar                    Precio         Interés.artesanal 
##                         5                         4                         2 
##         Consideras.seguro           Cubrebocas.usas          Prefieres.diseño 
##                         4                         4                         2


Aplicar el análisis de correspondencia múltiple.

mca1 = MCA(Base, graph = F)
summary(mca1)
## 
## Call:
## MCA(X = Base, graph = F) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.280   0.237   0.225   0.217   0.201   0.182   0.180
## % of var.              8.531   7.238   6.869   6.629   6.142   5.555   5.484
## Cumulative % of var.   8.531  15.769  22.638  29.267  35.409  40.964  46.449
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.160   0.155   0.136   0.128   0.117   0.103   0.099
## % of var.              4.883   4.736   4.139   3.891   3.556   3.147   3.019
## Cumulative % of var.  51.332  56.067  60.206  64.097  67.653  70.800  73.818
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.096   0.091   0.080   0.072   0.070   0.063   0.056
## % of var.              2.930   2.782   2.447   2.192   2.131   1.913   1.708
## Cumulative % of var.  76.748  79.530  81.977  84.169  86.300  88.213  89.921
##                       Dim.22  Dim.23  Dim.24  Dim.25  Dim.26  Dim.27  Dim.28
## Variance               0.051   0.044   0.040   0.034   0.032   0.027   0.023
## % of var.              1.567   1.357   1.227   1.043   0.981   0.827   0.711
## Cumulative % of var.  91.488  92.846  94.072  95.115  96.096  96.923  97.635
##                       Dim.29  Dim.30  Dim.31  Dim.32  Dim.33  Dim.34  Dim.35
## Variance               0.019   0.016   0.014   0.010   0.008   0.006   0.004
## % of var.              0.580   0.492   0.421   0.296   0.257   0.184   0.135
## Cumulative % of var.  98.215  98.706  99.128  99.424  99.681  99.865 100.000
## 
## Individuals (the 10 first)
##              Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr   cos2
## 1         | -0.252  0.629  0.028 | -0.390  1.781  0.067 | -0.022  0.006  0.000
## 2         | -0.108  0.115  0.005 | -0.518  3.147  0.106 |  0.581  4.163  0.133
## 3         | -0.016  0.003  0.000 |  0.252  0.745  0.027 | -0.285  1.000  0.034
## 4         |  0.153  0.234  0.013 |  0.461  2.490  0.113 | -0.281  0.976  0.042
## 5         |  0.217  0.467  0.013 |  0.416  2.023  0.046 |  0.062  0.048  0.001
## 6         | -0.317  0.999  0.046 | -0.259  0.787  0.031 | -0.459  2.601  0.096
## 7         | -0.027  0.007  0.000 | -0.343  1.380  0.021 |  1.503 27.873  0.403
## 8         |  0.529  2.775  0.064 |  0.160  0.301  0.006 |  0.283  0.985  0.018
## 9         |  0.378  1.418  0.030 | -0.624  4.566  0.083 |  0.820  8.298  0.143
## 10        |  0.578  3.315  0.141 |  0.077  0.070  0.003 | -0.651  5.231  0.179
##            
## 1         |
## 2         |
## 3         |
## 4         |
## 5         |
## 6         |
## 7         |
## 8         |
## 9         |
## 10        |
## 
## Categories (the 10 first)
##              Dim.1    ctr   cos2 v.test    Dim.2    ctr   cos2 v.test    Dim.3
## Femenino  |  0.014  0.003  0.000  0.120 |  0.343  1.838  0.236  2.871 | -0.141
## Masculino | -0.029  0.005  0.000 -0.120 | -0.686  3.677  0.236 -2.871 |  0.282
## 18        |  0.440  0.320  0.018  0.784 |  1.013  2.002  0.093  1.807 | -0.187
## 19        |  0.754  1.881  0.114  1.994 |  0.403  0.635  0.033  1.067 | -0.858
## 20        | -0.142  0.078  0.005 -0.413 | -0.722  2.372  0.126 -2.098 |  0.157
## 21        |  0.794  1.391  0.079  1.661 | -0.622  1.008  0.048 -1.302 |  0.835
## 22        | -0.428  0.706  0.044 -1.243 |  0.794  2.870  0.152  2.308 |  0.131
## 23        |  0.388  0.332  0.019  0.811 | -0.204  0.109  0.005 -0.427 |  0.162
## 24        | -1.922  4.076  0.217 -2.757 |  0.046  0.003  0.000  0.066 | -0.060
## 25        | -1.265  1.766  0.094 -1.815 | -0.771  0.774  0.035 -1.107 | -0.805
##              ctr   cos2 v.test  
## Femenino   0.328  0.040 -1.181 |
## Masculino  0.655  0.040  1.181 |
## 18         0.072  0.003 -0.334 |
## 19         3.026  0.147 -2.269 |
## 20         0.118  0.006  0.456 |
## 21         1.911  0.087  1.746 |
## 22         0.082  0.004  0.380 |
## 23         0.072  0.003  0.339 |
## 24         0.005  0.000 -0.085 |
## 25         0.887  0.038 -1.154 |
## 
## Categorical variables (eta2)
##                         Dim.1 Dim.2 Dim.3  
## Sexo                  | 0.000 0.236 0.040 |
## Edad                  | 0.532 0.458 0.307 |
## Has.leído             | 0.116 0.010 0.010 |
## Interés.proteger      | 0.069 0.085 0.066 |
## Interés.moleste       | 0.260 0.200 0.058 |
## Interés.fácildequitar | 0.243 0.402 0.169 |
## Interés.estético      | 0.727 0.548 0.615 |
## Interés.precio        | 0.371 0.201 0.400 |
## Importancia.precio    | 0.385 0.257 0.230 |
## Importancia.moleste   | 0.254 0.087 0.565 |


Data frames para hacer la gráfica con ggplot.

mca1_vars_df = data.frame(mca1$var$coord, Variable = rep(names(cats), cats))
mca1_obs_df = data.frame(mca1$ind$coord)


Gráfica.

ggplot(data = mca1_obs_df, aes(x = Dim.1, y = Dim.2)) + geom_hline(yintercept = 0, 
colour = "gray70") + geom_vline(xintercept = 0, colour = "gray70") + geom_point(colour = "gray50", 
alpha = 0.7) + geom_density2d(colour = "gray80") + geom_text(data = mca1_vars_df, 
aes(x = Dim.1, y = Dim.2, label = rownames(mca1_vars_df), colour = Variable)) + 
ggtitle("ACM con todas las variables") + scale_colour_discrete(name = "Variable") +theme_minimal()