El análisis de correspondencia múltiple (ACM) es una extensión del análisis de correspondencia simple, diseñada para resumir y visualizar una tabla de datos que contiene más de dos variables categóricas. También puede considerarse una generalización del análisis de componentes principales cuando las variables a analizar son categóricas en lugar de cuantitativas.

El ACM se utiliza principalmente para analizar conjuntos de datos de encuestas, incluyendo individuos, variables y categorías. Su objetivo es identificar:

Asociaciones entre categorías de variables: Similar a las preguntas que se formulan en un análisis de componentes principales (PCA), primero se busca entender la relación entre variables y las asociaciones entre categorías. Dos categorías están próximas entre sí si a menudo se presentan juntas. Además, se trata de identificar una o varias variables sintéticas continuas que resuman las categóricas.

Grupos de individuos con perfiles similares: Se analizan los grupos de personas según sus respuestas a las preguntas. Dos individuos están cerca uno del otro si respondieron de manera similar. El enfoque no está tanto en los individuos per se, sino en las poblaciones: ¿existen grupos de individuos con características similares?

Para comenzar con el análisis de correspondencia múltiple, es necesario instalar y activar los paquetes requeridos. Estos paquetes son:

Carguemos los datos

La base de datos a trabajar esta relacionada con los habitntes de calle de colombia en el año 2019, se escoge esta base de datos por su naturaleza de categorica

c<-read_excel("HCL.xlsx")

summary(c)
##       Dep             Edad            Sexo           Duerme     
##  Min.   : 5.00   Min.   :15.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.: 5.00   1st Qu.:30.00   1st Qu.:1.000   1st Qu.:1.000  
##  Median :68.00   Median :38.00   Median :1.000   Median :1.000  
##  Mean   :40.58   Mean   :40.27   Mean   :1.113   Mean   :1.253  
##  3rd Qu.:76.00   3rd Qu.:50.00   3rd Qu.:1.000   3rd Qu.:1.000  
##  Max.   :76.00   Max.   :75.00   Max.   :2.000   Max.   :3.000  
##       Oye            Habla            Ver           Caminar     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:4.000   1st Qu.:3.000   1st Qu.:4.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.857   Mean   :3.918   Mean   :3.579   Mean   :3.771  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :4.000   Max.   :4.000   Max.   :4.000   Max.   :4.000  
##      Manos          Aprender        Si_Mismo      Interactuar   
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :4.000   Median :4.000   Median :4.000   Median :4.000  
##  Mean   :3.827   Mean   :3.868   Mean   :3.947   Mean   :3.883  
##  3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :4.000   Max.   :4.000   Max.   :4.000   Max.   :4.000  
##   Cardio_resp     Hipertension      Diabetes        Cancer       Tuberculosis  
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:2.000   1st Qu.:2.00   1st Qu.:2.000   1st Qu.:2.000  
##  Median :4.000   Median :2.000   Median :2.00   Median :2.000   Median :2.000  
##  Mean   :3.803   Mean   :1.937   Mean   :1.97   Mean   :1.992   Mean   :1.963  
##  3rd Qu.:4.000   3rd Qu.:2.000   3rd Qu.:2.00   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :4.000   Max.   :2.000   Max.   :2.00   Max.   :2.000   Max.   :2.000  
##     Vih.Sida       Motiv_Ini           Años        Motiv_Conti    
##  Min.   :1.000   Min.   : 1.000   Min.   : 0.00   Min.   : 1.000  
##  1st Qu.:2.000   1st Qu.: 1.000   1st Qu.: 4.00   1st Qu.: 1.000  
##  Median :2.000   Median : 3.000   Median :10.00   Median : 2.000  
##  Mean   :1.984   Mean   : 4.146   Mean   :13.12   Mean   : 3.614  
##  3rd Qu.:2.000   3rd Qu.: 7.000   3rd Qu.:20.00   3rd Qu.: 5.000  
##  Max.   :2.000   Max.   :11.000   Max.   :60.00   Max.   :11.000  
##   Contacto_fam      AyudaFam        AyudaAmi       AyudaInsO       AyudaInstP  
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00  
##  1st Qu.:1.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.00  
##  Median :5.000   Median :2.000   Median :2.000   Median :2.000   Median :2.00  
##  Mean   :5.214   Mean   :1.757   Mean   :1.867   Mean   :1.796   Mean   :1.91  
##  3rd Qu.:9.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.00  
##  Max.   :9.000   Max.   :2.000   Max.   :2.000   Max.   :2.000   Max.   :2.00  
##    AyudaInstR        Educa           Trabajo          Fuma      
##  Min.   :1.000   Min.   : 1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.: 2.000   1st Qu.:3.00   1st Qu.:1.000  
##  Median :2.000   Median : 3.000   Median :5.00   Median :1.000  
##  Mean   :1.931   Mean   : 3.737   Mean   :4.37   Mean   :1.272  
##  3rd Qu.:2.000   3rd Qu.: 4.000   3rd Qu.:5.00   3rd Qu.:2.000  
##  Max.   :2.000   Max.   :13.000   Max.   :9.00   Max.   :2.000  
##       Bebe         Marihuana      Inhalante        Cocaina          Basuco     
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:1.000   1st Qu.:1.00   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median :2.000   Median :1.00   Median :2.000   Median :2.000   Median :1.000  
##  Mean   :1.616   Mean   :1.41   Mean   :1.838   Mean   :1.772   Mean   :1.335  
##  3rd Qu.:2.000   3rd Qu.:2.00   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :2.000   Max.   :2.00   Max.   :2.000   Max.   :2.000   Max.   :2.000  
##     Heroína          Pepas        Persecucion     Contra_Volu    Abuso_Polic   
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.00   1st Qu.:1.000  
##  Median :2.000   Median :2.000   Median :2.000   Median :2.00   Median :2.000  
##  Mean   :1.939   Mean   :1.833   Mean   :1.765   Mean   :1.89   Mean   :1.606  
##  3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.00   3rd Qu.:2.000  
##  Max.   :2.000   Max.   :2.000   Max.   :2.000   Max.   :2.00   Max.   :2.000  
##  Barras_bravas      P_comuni       Miedo_Vida        Golpes     
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000   1st Qu.:2.000  
##  Median :2.000   Median :2.000   Median :1.000   Median :2.000  
##  Mean   :1.885   Mean   :1.891   Mean   :1.485   Mean   :1.775  
##  3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :2.000   Max.   :2.000   Max.   :2.000   Max.   :2.000  
##     Disparos      Arma_blanca       Amenazas        Insultos    
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:2.000   1st Qu.:2.000   1st Qu.:1.000  
##  Median :2.000   Median :2.000   Median :2.000   Median :2.000  
##  Mean   :1.965   Mean   :1.878   Mean   :1.803   Mean   :1.678  
##  3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :2.000   Max.   :2.000   Max.   :2.000   Max.   :2.000  
##     Ori_Sex     
##  Min.   :1.000  
##  1st Qu.:1.000  
##  Median :1.000  
##  Mean   :1.136  
##  3rd Qu.:1.000  
##  Max.   :5.000

Convertimos las variables categoricas a factor

c$Dep<-as.factor(c$Dep)
c$Sexo<-as.factor(c$Sexo)
c$Educa<-as.factor(c$Educa)
c$Trabajo<-as.factor(c$Trabajo)
c$Motiv_Conti<-as.factor(c$Motiv_Conti)
c$Motiv_Ini<-as.factor(c$Motiv_Ini)
c$Duerme<-as.factor(c$Duerme)
c$Basuco<-as.factor(c$Basuco)
c$Bebe<-as.factor(c$Bebe)
c$Cocaina<-as.factor(c$Cocaina)
c$Fuma<-as.factor(c$Fuma)
c$Heroína<-as.factor(c$Heroína)
c$Inhalante<-as.factor(c$Inhalante)
c$Marihuana<-as.factor(c$Marihuana)
c$Pepas<-as.factor(c$Pepas)
c$AyudaAmi<-as.factor(c$AyudaAmi)
c$AyudaFam<-as.factor(c$AyudaFam)
c$AyudaInsO<-as.factor(c$AyudaInsO)
c$AyudaInstP<-as.factor(c$AyudaInstP)
c$AyudaInstR<-as.factor(c$AyudaInstR)
c$Contacto_fam<-as.factor(c$Contacto_fam)
c$Cancer<-as.factor(c$Cancer)
c$Diabetes<-as.factor(c$Diabetes)
c$Hipertension<-as.factor(c$Hipertension)
c$Vih.Sida<-as.factor(c$Vih.Sida)
c$Tuberculosis<-as.factor(c$Tuberculosis)
c$Aprender<-as.factor(c$Aprender)
c$Caminar<-as.factor(c$Caminar)
c$Cardio_resp<-as.factor(c$Cardio_resp)
c$Habla<-as.factor(c$Habla)
c$Interactuar<-as.factor(c$Interactuar)
c$Manos<-as.factor(c$Manos)
c$Oye<-as.factor(c$Oye)
c$Si_Mismo<-as.factor(c$Si_Mismo)
c$Ver<-as.factor(c$Ver)
c$Abuso_Polic<-as.factor(c$Abuso_Polic)
c$Amenazas<-as.factor(c$Amenazas)
c$Arma_blanca<-as.factor(c$Arma_blanca)
c$Disparos<-as.factor(c$Disparos)
c$Golpes<-as.factor(c$Golpes)
c$Insultos<-as.factor(c$Insultos)
c$Miedo_Vida<-as.factor(c$Miedo_Vida)
c$P_comuni<-as.factor(c$P_comuni)
c$Barras_bravas<-as.factor(c$Barras_bravas)
c$Contra_Volu<-as.factor(c$Contra_Volu)
c$Persecucion<-as.factor(c$Persecucion)
c$Ori_Sex<-as.factor(c$Ori_Sex)

Se renombran las variables para poder tener una mejor visualizacion grafica

names(c)[names(c) =='Educa'] <- 'ED'
names(c)[names(c) =='Edad'] <- 'E'
names(c)[names(c) =='Dep'] <- 'DP'
names(c)[names(c) =='Sexo'] <- 'SX'
names(c)[names(c) =='Oye'] <- 'O'
names(c)[names(c) =='Habla'] <- 'H'
names(c)[names(c) =='Ver'] <- 'V'
names(c)[names(c) =='Caminar'] <- 'C'
names(c)[names(c) =='Manos'] <- 'M'
names(c)[names(c) =='Aprender'] <- 'A'
names(c)[names(c) =='Si_Mismo'] <- 'S'
names(c)[names(c) =='Interactuar'] <- 'I'
names(c)[names(c) =='Cardio_resp'] <- 'CR'
names(c)[names(c) =='Hipertension'] <- 'H_P'
names(c)[names(c) =='Diabetes'] <- 'D_B'
names(c)[names(c) =='Cancer'] <- 'C_A'
names(c)[names(c) =='Tuberculosis'] <- 'T_B'
names(c)[names(c) =='Vih.Sida'] <- 'V_S'
names(c)[names(c) =='Años'] <- 'AÑ'
names(c)[names(c) =='AyudaFam'] <- 'AF'
names(c)[names(c) =='AyudaAmi'] <- 'AA'
names(c)[names(c) =='AyudaInsO'] <- 'AI'
names(c)[names(c) =='AyudaInstR'] <- 'AR'
names(c)[names(c) =='AyudaInstP'] <- 'APR'
names(c)[names(c) =='Ori_Sex'] <- 'OS'
names(c)[names(c) =='Trabajo'] <- 'TR'
names(c)[names(c) =='Motiv_Conti'] <- 'MC'
names(c)[names(c) =='Motiv_Ini'] <- 'MI'
names(c)[names(c) =='Duerme'] <- 'D'
names(c)[names(c) =='Basuco'] <- 'BA'
names(c)[names(c) =='Bebe'] <- 'BB'
names(c)[names(c) =='Cocaina'] <- 'CO'
names(c)[names(c) =='Fuma'] <- 'FU'
names(c)[names(c) =='Heroína'] <- 'HE'
names(c)[names(c) =='Inhalante'] <- 'IH'
names(c)[names(c) =='Marihuana'] <- 'MA'
names(c)[names(c) =='Pepas'] <- 'PP'
names(c)[names(c) =='AyudaInsO'] <- 'AO'
names(c)[names(c) =='Contacto_fam'] <- 'CF'
names(c)[names(c) =='Abuso_Polic'] <- 'AP'
names(c)[names(c) =='Amenazas'] <- 'AM'
names(c)[names(c) =='Golpes'] <- 'GO'
names(c)[names(c) =='Disparos'] <- 'DI'
names(c)[names(c) =='Barras_bravas'] <- 'Bb'
names(c)[names(c) =='Arma_blanca'] <- 'AB'
names(c)[names(c) =='P_comuni'] <- 'PC'
names(c)[names(c) =='Contra_Volu'] <- 'CV'
names(c)[names(c) =='Insultos'] <- 'IN'
names(c)[names(c) =='Miedo_Vida'] <- 'MV'
names(c)[names(c) =='Persecucion'] <- 'PE'

Asignamos nombres a los departamentos

c$DP<-ifelse(c$DP=="5","Antioquia",ifelse(c$DP=="8" ,"Atlantico",ifelse(c$DP=="17","Caldas",ifelse(c$DP=="68" ,"Santander" ,"Valle del cauca"))))
c$SX<-ifelse(c$SX=="1","H","M")

Diagramas de Barras según Variables de análisis

barplot(table(c$DP),ylab="# de Habitantes de Calle", 
        col=c("royalblue", "seagreen", "purple", "grey","tan2" ),
        xlab="Departamentos",main="Habitantes de Calle por Departamentos")

barplot(table(c$ED),ylab="# de Habitantes de Calle", col="violetred",
        xlab="Niveles Educativos",main="Nivel Educativo más Alto")

barplot(table(c$TR),ylab="# de Habitantes de Calle",col="turquoise4",
        xlab="Motivos",main="¿Cómo consigue usted dinero?")

barplot(table(c$MC),ylab="# de Habitantes de Calle",col="thistle3",
        xlab="Motivos",main="¿Porque Continua en la Calle?")

Reasignación de Categorías

c$ED<-revalue(c$ED, c("13"="Pr","1"="Pr","2"="Pr",
                      "3"="Se","4"="TU","5"="TU","6"="TU"))
#c$ED<-revalue(c$ED, c("13"="Primaria","1"="Primaria","2"="Primaria",
#                     "3"="Secundaria","4"="Tecnicos o Universitarios","5"="Tecnicos o Universitarios","6"="Tecnicos o Universitarios"))

summary(c$ED)
##   Pr   Se   TU 
## 3973 2767 2077
c$TR<-revalue(c$TR, c("1"="R.c","5"="Re","4"="Me",
                      "6"="A.i","7"="A.i","8"="A.i","9"="Ot","2"="Ot","3"="Ot"))

#c$TR<-revalue(c$TR, c("1"="Rebusque con los carros","5"="Reciclando","4"="Mendigando",
#                                "6"="Actos inmorales","7"="Actos inmorales","8"="Actos inmorales","9"="Otros","2"="Otros","3"="Otros"))
summary(c$TR)
##  R.c   Ot   Me   Re  A.i 
## 1953 1253 1116 4156  339
c$MC<-revalue(c$MC, c("1"="C.d","2"="G.p","3"="G.p","7"="G.p","9"="G.p",
                      "4"="F.t","5"="F.t","6"="P.f","8"="P.f","10"="P.f","11"="P.f"))
summary(c$MC)
##  C.d  G.p  F.t  P.f 
## 3602 2772 1848  595
table(c$MC)
## 
##  C.d  G.p  F.t  P.f 
## 3602 2772 1848  595
c$MI<-revalue(c$MI, c("1"="C.d","7"="P.f","8"="P.f","6"="F.t","10"="F.t","5"="F.t",
                      "2"="G.p","3"="G.p","4"="G.p","9"="G.p","11"="G.p"))
#c$MI<-revalue(c$MI, c("1"="Consumo de drogas","7"="Problemas familiares","8"="Problemas familiares","6"="Falta de trabajo","10"="Falta de trabajo","5"="Falta de trabajo",
#                     "2"="Gusto personal","3"="Gusto personal","4"="Gusto personal","9"="Gusto personal","11"="Gusto personal"))
summary(c$MI)
##  C.d  G.p  F.t  P.f 
## 3482 1546 1090 2699
#c$CF<-revalue(c$CF, c("9"="Ninguno","1"="Padres","2"="Padres","3"="Hermanos",
#                      "4"="Otros","5"="Otros","6"="Otros","7"="Otros","8"="Otros"))
c$CF<-revalue(c$CF, c("9"="Ni","1"="Pa","2"="Pa","3"="He",
                      "4"="Ot","5"="Ot","6"="Ot","7"="Ot","8"="Ot"))
summary(c$CF)
##   Pa   He   Ot   Ni 
## 2673 1509 1125 3510

Nuevas variables a partir de condiciones sobre una variable numérica:

#c$GE<-ifelse(c$E<=29,"Jovenes",
#                ifelse(c$E>29 & c$E<=39,"Adultos jovenes",
#                      ifelse(c$E>39 & c$E<=49,"Adultos","Adultos mayores")))
c$GE<-ifelse(c$E<=29,"J",
             ifelse(c$E>29 & c$E<=39,"AJ",
                    ifelse(c$E>39 & c$E<=49,"A","AM")))
c$GE<-as.factor(c$GE)
summary(c$GE)
##    A   AJ   AM    J 
## 1680 2785 2319 2033
c$GA<-ifelse(c$AÑ<=5,"0 a 5",
             ifelse(c$AÑ>5 & c$AÑ<=15,"5 a 15","mas de 15"))

c$GA<-as.factor(c$GA)
summary(c$GA)
##     0 a 5    5 a 15 mas de 15 
##      2809      3080      2928

Cambiamos de categoria Miedo a morir

c$MV<-as.factor(ifelse(c$MV=="1",'Me siento inseguro','Me siento seguro'))

table(c$AM)
## 
##    1    2 
## 1736 7081

Base para Análisis de Correspondencias

names(c)
##  [1] "DP"  "E"   "SX"  "D"   "O"   "H"   "V"   "C"   "M"   "A"   "S"   "I"  
## [13] "CR"  "H_P" "D_B" "C_A" "T_B" "V_S" "MI"  "AÑ"  "MC"  "CF"  "AF"  "AA" 
## [25] "AI"  "APR" "AR"  "ED"  "TR"  "FU"  "BB"  "MA"  "IH"  "CO"  "BA"  "HE" 
## [37] "PP"  "PE"  "CV"  "AP"  "Bb"  "PC"  "MV"  "GO"  "DI"  "AB"  "AM"  "IN" 
## [49] "OS"  "GE"  "GA"
c1<-data.frame(c[19],c[21],c[22],c[30:40],c[43:44],c[47:48],c[50:51])

summary(c1) 
##    MI         MC        CF       FU       BB       MA       IH       CO      
##  C.d:3482   C.d:3602   Pa:2673   1:6418   1:3385   1:5203   1:1428   1:2010  
##  G.p:1546   G.p:2772   He:1509   2:2399   2:5432   2:3614   2:7389   2:6807  
##  F.t:1090   F.t:1848   Ot:1125                                               
##  P.f:2699   P.f: 595   Ni:3510                                               
##  BA       HE       PP       PE       CV       AP      
##  1:5865   1: 538   1:1470   1:2069   1: 967   1:3476  
##  2:2952   2:8279   2:7347   2:6748   2:7850   2:5341  
##                                                       
##                                                       
##                   MV       GO       AM       IN        GE      
##  Me siento inseguro:4544   1:1984   1:1736   1:2839   A :1680  
##  Me siento seguro  :4273   2:6833   2:7081   2:5978   AJ:2785  
##                                                       AM:2319  
##                                                       J :2033  
##          GA      
##  0 a 5    :2809  
##  5 a 15   :3080  
##  mas de 15:2928  
## 

ANALISIS DE CORRESPONDENCIA MULTIPLE

ACM<- MCA(X = c1,graph = F,ncp=10)
summary(ACM)
## 
## Call:
## MCA(X = c1, ncp = 10, graph = F) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.161   0.109   0.078   0.074   0.067   0.057   0.054
## % of var.             11.104   7.507   5.409   5.072   4.619   3.957   3.749
## Cumulative % of var.  11.104  18.611  24.020  29.092  33.711  37.668  41.417
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.052   0.052   0.051   0.050   0.049   0.047   0.046
## % of var.              3.611   3.575   3.517   3.446   3.374   3.221   3.202
## Cumulative % of var.  45.028  48.603  52.120  55.566  58.940  62.160  65.362
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.046   0.045   0.043   0.042   0.038   0.037   0.034
## % of var.              3.154   3.082   2.981   2.867   2.595   2.519   2.329
## Cumulative % of var.  68.517  71.598  74.579  77.446  80.041  82.560  84.889
##                       Dim.22  Dim.23  Dim.24  Dim.25  Dim.26  Dim.27  Dim.28
## Variance               0.033   0.031   0.030   0.030   0.029   0.024   0.023
## % of var.              2.245   2.132   2.088   2.077   2.001   1.674   1.555
## Cumulative % of var.  87.133  89.265  91.353  93.430  95.431  97.105  98.660
##                       Dim.29
## Variance               0.019
## % of var.              1.340
## Cumulative % of var. 100.000
## 
## Individuals (the 10 first)
##           Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr   cos2  
## 1      | -0.263  0.005  0.050 |  0.163  0.003  0.019 | -0.078  0.001  0.004 |
## 2      | -0.424  0.013  0.185 |  0.038  0.000  0.001 | -0.041  0.000  0.002 |
## 3      |  0.580  0.024  0.120 |  0.975  0.099  0.339 |  0.075  0.001  0.002 |
## 4      |  0.027  0.000  0.000 | -0.547  0.031  0.197 |  0.046  0.000  0.001 |
## 5      |  0.132  0.001  0.013 |  0.294  0.009  0.063 |  0.049  0.000  0.002 |
## 6      | -0.164  0.002  0.022 |  0.215  0.005  0.038 | -0.101  0.001  0.008 |
## 7      | -0.203  0.003  0.031 |  0.388  0.016  0.114 | -0.109  0.002  0.009 |
## 8      | -0.350  0.009  0.068 | -0.118  0.001  0.008 |  0.647  0.061  0.231 |
## 9      |  0.588  0.024  0.211 |  0.293  0.009  0.053 |  0.068  0.001  0.003 |
## 10     |  0.332  0.008  0.088 | -0.468  0.023  0.174 |  0.091  0.001  0.007 |
## 
## Categories (the 10 first)
##            Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2  v.test  
## MI_C.d |   0.193   0.455   0.024  14.612 |  -0.497   4.488   0.161 -37.727 |
## MI_G.p |  -0.066   0.023   0.001  -2.836 |   0.038   0.011   0.000   1.628 |
## MI_F.t |  -0.494   0.936   0.034 -17.413 |   0.843   4.036   0.100  29.729 |
## MI_P.f |  -0.012   0.001   0.000  -0.722 |   0.280   1.100   0.035  17.440 |
## MC_C.d |   0.265   0.890   0.048  20.674 |  -0.499   4.680   0.172 -38.969 |
## MC_G.p |  -0.027   0.007   0.000  -1.701 |   0.061   0.055   0.002   3.910 |
## MC_F.t |  -0.420   1.149   0.047 -20.315 |   0.766   5.650   0.156  37.037 |
## MC_P.f |  -0.174   0.064   0.002  -4.403 |   0.358   0.396   0.009   9.030 |
## Pa     |   0.338   1.076   0.050  20.941 |  -0.410   2.340   0.073 -25.386 |
## He     |  -0.206   0.226   0.009  -8.801 |   0.233   0.425   0.011   9.924 |
##          Dim.3     ctr    cos2  v.test  
## MI_C.d  -0.330   2.741   0.071 -25.028 |
## MI_G.p  -0.153   0.260   0.005  -6.605 |
## MI_F.t   1.565  19.299   0.345  55.184 |
## MI_P.f  -0.119   0.276   0.006  -7.416 |
## MC_C.d  -0.388   3.915   0.104 -30.255 |
## MC_G.p  -0.212   0.900   0.021 -13.477 |
## MC_F.t   1.068  15.237   0.302  51.631 |
## MC_P.f   0.018   0.001   0.000   0.457 |
## Pa       0.289   1.618   0.036  17.919 |
## He      -0.092   0.092   0.002  -3.926 |
## 
## Categorical variables (eta2)
##          Dim.1 Dim.2 Dim.3  
## MI     | 0.046 0.210 0.354 |
## MC     | 0.068 0.235 0.315 |
## CF     | 0.051 0.086 0.049 |
## FU     | 0.040 0.036 0.004 |
## BB     | 0.044 0.005 0.030 |
## MA     | 0.131 0.079 0.003 |
## IH     | 0.214 0.072 0.009 |
## CO     | 0.219 0.053 0.077 |
## BA     | 0.090 0.150 0.176 |
## HE     | 0.124 0.060 0.038 |
fviz_screeplot(ACM,labelsize = 0.1,addlabels = T,barfill = "yellow3")

Mediante ACM se explica en el plano 1-2 el 17% de la variab. de la información

Cosenos2 de Variables a las dimensiones

cor<-corrplot(cl.cex = 0.8,tl.cex = 0.8,tl.col = "gray2",t(ACM$var$cos2),is.corr = F)

contribuciones <-ACM$var$contrib

BIPLOTS Plano 1-2

#Plano 1-2

fviz_mca_biplot(X = ACM,title = "Plano 1-2 del ACM según Miedo a morir",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MV,repel=T)

fviz_mca_biplot(X = ACM,title = "Plano 1-2 del ACM según Motivo Inicio",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MI)

fviz_mca_biplot(X = ACM,title = "Plano 1-2 del ACM según Motivo continuar",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MC)

fviz_mca_biplot(X = ACM,title = "Plano de Ejes 1-2 Según Consumo de Bazuco",labelsize = 4,col.var="gray2",label="var",col.ind=c1$BA)

fviz_mca_biplot(X = ACM,title = "Plano de Ejes 1-2 Según Consumo de Marihuana",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MA)

fviz_mca_biplot(X = ACM,title = "Plano de Ejes 1-2 Según Consumo de Inhalantes",labelsize = 4,col.var="gray2",label="var",col.ind=c1$IH)

fviz_mca_biplot(X = ACM,title = "Plano de Ejes 1-2 Según Consumo de Pepas",labelsize = 4,col.var="gray2",label="var",col.ind=c1$PP)

fviz_mca_biplot(X = ACM,title = "Plano de Ejes 1-2 Según Grupos de Edad",labelsize = 4,col.var="gray2",label="var",col.ind=c1$GE)

## BIPLOTS Plano 1-4 Y 3-4

#Plano 3-4

fviz_mca_biplot(X = ACM, axes = c(1, 4),repel=T,title = "Plano 1-4 del ACM según Miedo a morir",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MV)

fviz_mca_biplot(X = ACM, axes = c(3, 4),title = "Plano 3-4 del ACM según Motivo de inicio",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MI,repel=T)

fviz_mca_biplot(X = ACM, axes = c(3, 4),title = "Plano 3-4 del ACM según Motivo de Inicio",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MC)

fviz_mca_biplot(X = ACM, axes = c(3, 4),title = "Plano 3-4 del ACM según Motivo para Continuar en la Calle",labelsize = 4,col.var="gray2",label="var",col.ind=c1$MC)

Análisis de Clusters sobre coordenadas del ACM

Se corre clusters sobre las dimensiones que reflejan el 70% de la información en este caso sobre las primeras 15.

set.seed(123)  # Fijar la semilla para reproducibilidad

c2<-sample_frac(c1, 0.2, replace = TRUE)
ACM<- MCA(X = c2,graph = F,ncp=15)

summary(ACM)
## 
## Call:
## MCA(X = c2, ncp = 15, graph = F) 
## 
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4   Dim.5   Dim.6   Dim.7
## Variance               0.167   0.105   0.079   0.075   0.067   0.059   0.055
## % of var.             11.494   7.249   5.477   5.168   4.649   4.055   3.793
## Cumulative % of var.  11.494  18.743  24.219  29.387  34.036  38.091  41.884
##                        Dim.8   Dim.9  Dim.10  Dim.11  Dim.12  Dim.13  Dim.14
## Variance               0.054   0.052   0.051   0.050   0.049   0.048   0.046
## % of var.              3.733   3.615   3.512   3.449   3.401   3.333   3.178
## Cumulative % of var.  45.617  49.231  52.744  56.193  59.594  62.927  66.105
##                       Dim.15  Dim.16  Dim.17  Dim.18  Dim.19  Dim.20  Dim.21
## Variance               0.045   0.043   0.041   0.040   0.036   0.035   0.034
## % of var.              3.135   2.978   2.860   2.738   2.517   2.430   2.354
## Cumulative % of var.  69.240  72.217  75.077  77.815  80.332  82.762  85.116
##                       Dim.22  Dim.23  Dim.24  Dim.25  Dim.26  Dim.27  Dim.28
## Variance               0.033   0.032   0.030   0.030   0.028   0.024   0.022
## % of var.              2.262   2.185   2.073   2.061   1.908   1.685   1.495
## Cumulative % of var.  87.378  89.563  91.636  93.698  95.606  97.291  98.785
##                       Dim.29
## Variance               0.018
## % of var.              1.215
## Cumulative % of var. 100.000
## 
## Individuals (the 10 first)
##           Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3    ctr   cos2  
## 1      |  0.844  0.242  0.345 |  0.565  0.172  0.155 | -0.367  0.096  0.065 |
## 2      | -0.240  0.020  0.050 | -0.380  0.078  0.127 |  0.043  0.001  0.002 |
## 3      |  0.371  0.047  0.068 | -0.270  0.039  0.036 |  0.471  0.158  0.110 |
## 4      |  0.246  0.021  0.042 | -0.048  0.001  0.002 |  0.048  0.002  0.002 |
## 5      | -0.207  0.015  0.037 |  0.132  0.009  0.015 |  0.356  0.091  0.110 |
## 6      |  0.291  0.029  0.049 | -0.067  0.002  0.003 |  0.389  0.108  0.088 |
## 7      | -0.402  0.055  0.130 |  0.028  0.000  0.001 |  0.397  0.112  0.126 |
## 8      | -0.323  0.035  0.074 |  0.155  0.013  0.017 |  0.672  0.323  0.320 |
## 9      |  0.330  0.037  0.067 |  0.517  0.144  0.164 | -0.501  0.179  0.154 |
## 10     | -0.260  0.023  0.072 | -0.348  0.065  0.129 | -0.138  0.014  0.020 |
## 
## Categories (the 10 first)
##            Dim.1     ctr    cos2  v.test     Dim.2     ctr    cos2  v.test  
## MI_C.d |   0.222   0.561   0.030   7.299 |  -0.248   1.117   0.038  -8.175 |
## MI_G.p |  -0.069   0.027   0.001  -1.404 |  -0.228   0.476   0.012  -4.671 |
## MI_F.t |  -0.494   0.848   0.032  -7.504 |   0.916   4.615   0.110  13.903 |
## MI_P.f |  -0.045   0.019   0.001  -1.277 |   0.105   0.162   0.005   2.947 |
## MC_C.d |   0.304   1.119   0.063  10.495 |  -0.236   1.067   0.038  -8.137 |
## MC_G.p |  -0.056   0.030   0.001  -1.594 |  -0.243   0.875   0.027  -6.863 |
## MC_F.t |  -0.379   0.898   0.038  -8.162 |   0.812   6.543   0.174  17.501 |
## MC_P.f |  -0.343   0.268   0.010  -4.124 |   0.018   0.001   0.000   0.221 |
## Pa     |   0.334   0.999   0.047   9.140 |  -0.335   1.592   0.048  -9.164 |
## He     |  -0.195   0.182   0.007  -3.561 |   0.003   0.000   0.000   0.056 |
##          Dim.3     ctr    cos2  v.test  
## MI_C.d  -0.726  12.658   0.325 -23.925 |
## MI_G.p   0.276   0.923   0.018   5.654 |
## MI_F.t   1.325  12.799   0.230  20.126 |
## MI_P.f   0.226   1.003   0.023   6.382 |
## MC_C.d  -0.749  14.253   0.379 -25.855 |
## MC_G.p   0.283   1.572   0.036   7.995 |
## MC_F.t   0.977  12.556   0.252  21.073 |
## MC_P.f   0.130   0.081   0.001   1.566 |
## Pa       0.300   1.687   0.038   8.201 |
## He      -0.193   0.374   0.007  -3.527 |
## 
## Categorical variables (eta2)
##          Dim.1 Dim.2 Dim.3  
## MI     | 0.049 0.134 0.435 |
## MC     | 0.077 0.178 0.452 |
## CF     | 0.050 0.056 0.056 |
## FU     | 0.031 0.057 0.009 |
## BB     | 0.040 0.000 0.041 |
## MA     | 0.103 0.096 0.005 |
## IH     | 0.211 0.115 0.019 |
## CO     | 0.166 0.109 0.075 |
## BA     | 0.091 0.108 0.189 |
## HE     | 0.117 0.070 0.018 |
ACM$eig
##        eigenvalue percentage of variance cumulative percentage of variance
## dim 1  0.16665917              11.493736                          11.49374
## dim 2  0.10510775               7.248810                          18.74255
## dim 3  0.07941453               5.476864                          24.21941
## dim 4  0.07492936               5.167542                          29.38695
## dim 5  0.06740637               4.648715                          34.03567
## dim 6  0.05879657               4.054936                          38.09060
## dim 7  0.05500499               3.793448                          41.88405
## dim 8  0.05412548               3.732792                          45.61684
## dim 9  0.05241086               3.614542                          49.23138
## dim 10 0.05092654               3.512175                          52.74356
## dim 11 0.05001532               3.449333                          56.19289
## dim 12 0.04931094               3.400754                          59.59365
## dim 13 0.04832806               3.332969                          62.92662
## dim 14 0.04607979               3.177916                          66.10453
## dim 15 0.04545944               3.135134                          69.23967
## dim 16 0.04317377               2.977501                          72.21717
## dim 17 0.04146349               2.859551                          75.07672
## dim 18 0.03970029               2.737951                          77.81467
## dim 19 0.03649933               2.517195                          80.33187
## dim 20 0.03523702               2.430140                          82.76201
## dim 21 0.03412814               2.353665                          85.11567
## dim 22 0.03280412               2.262353                          87.37802
## dim 23 0.03168859               2.185420                          89.56344
## dim 24 0.03005341               2.072649                          91.63609
## dim 25 0.02989045               2.061410                          93.69750
## dim 26 0.02767043               1.908305                          95.60581
## dim 27 0.02442962               1.684801                          97.29061
## dim 28 0.02167548               1.494861                          98.78547
## dim 29 0.01761069               1.214530                         100.00000
HC_eig <- ACM$eig[1:15,c(1,3)]# se seleccionan 15 dimensiones que explican el 70% de la variabilidad

Clusterización Por el metodo Ward, sin condicionar el # de clusters

Cluster_HC <- HCPC(ACM,nb.clust = -1,method="ward",graph = F)
plot(Cluster_HC, choice="tree",title = "Cluster de Habitantes de Calle")

c2$Cluster<-Cluster_HC$data.clust$clust

fviz_cluster(Cluster_HC, geom = "point", main = "Factor map")

fviz_mca_biplot(X = ACM,title = "Plano 1-2 del ACM según Clústers",labelsize = 3,col.var="gray2",label="var",col.ind=c2$Cluster)

fviz_mca_biplot(X = ACM, axes = c(1, 5),title = "Plano 1-5 del ACM según Clústers",labelsize = 3,col.var="gray2",label="var",col.ind=c2$Cluster)

# Gráfico de # de HC por Cluster
Dat_HC <- Cluster_HC$data.clust
Consulta_HC <- Dat_HC %>% group_by(clust) %>% summarise(Cuenta = n())
rm(Dat_HC)
Consulta_HC$clust <- paste("Cluster ",Consulta_HC$clust,"(",
                           round(Consulta_HC$Cuenta/sum(Consulta_HC$Cuenta)*100,2),
                           "%)",sep = "")
ggplot(Consulta_HC, aes(x="", y=Cuenta, fill=clust))+
  geom_bar(width = 1, stat = "identity") + 
  coord_polar("y", start=0)