Instalamos y cargamos las librerías a usar para el desarrollo del ejercicio ACM. Cargamos nuestra BD denominada “DogBreeds” la cual se extrae de la librería FactoClass. Esta BD contiene 27 observaciones en este caso, razas de perros considerando 7 variables: tamaño, peso, velocidad, inteligencia, afectividad, agresividad y función.
library(FactoMineR)
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(ggplot2)
library(FactoClass)
## Loading required package: ade4
##
## Attaching package: 'ade4'
## The following object is masked from 'package:FactoMineR':
##
## reconst
## 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(Rcpp)
library(broom)
library(pander)
library(corrplot)
## corrplot 0.90 loaded
library(gridExtra)
library(ade4)
library(missMDA)
library(gridExtra)
data("DogBreeds")
attach(DogBreeds)
Ahora definimos las variables para el análisis
Funcion<-DogBreeds$FUNC
Inteligencia<-DogBreeds$INTE
Tamaño<-DogBreeds$SIZE
Velocidad<-DogBreeds$SPEE
Peso<-DogBreeds$WEIG
Agresividad<-DogBreeds$AGGR
Afectividad<-DogBreeds$AFFE
Construimos la base de datos.
DataBase<-cbind(DogBreeds,Funcion,Inteligencia,Tamaño,Velocidad,Peso,Agresividad,Afectividad)
DataBase[,1:8] <- NULL
summary(DataBase)
## Inteligencia Tamaño Velocidad Peso Agresividad Afectividad
## hig: 6 lar:15 hig: 9 hea: 5 hig:13 hig:14
## low: 8 med: 5 low:10 lig: 8 low:14 low:13
## med:13 sma: 7 med: 8 med:14
Graficamos mediante diagramas de barras cada variable, para ver su frecuencia.
G1<-ggplot(DataBase, aes(x=Inteligencia)) + geom_bar(col= "black")
G2<-ggplot(DataBase, aes(x=Tamaño)) + geom_bar(col="red")
G3<-ggplot(DataBase, aes(x=Velocidad)) + geom_bar(col= "green")
G4<-ggplot(DataBase, aes(x=Peso)) + geom_bar(col= "blue")
G5<-ggplot(DataBase, aes(x=Agresividad)) + geom_bar(col= "yellow")
G6<-ggplot(DataBase, aes(x=Afectividad)) + geom_bar(col= "purple")
grid.arrange(G1,G2,G3,G4,G5,G6, nrow = 1)
MCA_indicadores<-MCA(DataBase,graph =FALSE)
print(MCA_indicadores)
## **Results of the Multiple Correspondence Analysis (MCA)**
## The analysis was performed on 27 individuals, described by 6 variables
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$var" "results for the variables"
## 3 "$var$coord" "coord. of the categories"
## 4 "$var$cos2" "cos2 for the categories"
## 5 "$var$contrib" "contributions of the categories"
## 6 "$var$v.test" "v-test for the categories"
## 7 "$ind" "results for the individuals"
## 8 "$ind$coord" "coord. for the individuals"
## 9 "$ind$cos2" "cos2 for the individuals"
## 10 "$ind$contrib" "contributions of the individuals"
## 11 "$call" "intermediate results"
## 12 "$call$marge.col" "weights of columns"
## 13 "$call$marge.li" "weights of rows"
Entre las características de las razas de perros de nuestra BD en mayor medida se obtiene que: son de inteligencia media, tamaño grande, velocidad baja, peso medio, agresividad baja y afectividad alta. Para empezar con el análisis, la función MCA crea un objeto que contiene mucha información encontrada en diferentes listas y matrices. Al usar la función print() se mostrará una lista con todos los valores que contiene.
fviz_mca_ind(MCA_indicadores, repel = TRUE,
ggtheme = theme_grey())+labs(
title="Razas")
Analizamos a partir de la nube de puntos la asociación entre los grupos: razas de perros. Esto con el fin de conocer con qué individuos presentan similitudes. En este sentido, en el primer plan explicando el 52% de la varianza, se observa que existen razas con características similares, como lo son:
• pobd y labr • labr y dalm • buld y teck • peki y chih • sett y masa • beau y podf • podf y coll • foxh y galg
Analizamos los eigenvalues, los cuales son valores que permiten discernir cuántas dimensiones deben ser incluidas en el análisis. La siguiente tabla contiene el eigenvalue para cada dimensión y el porcentaje de varianza
eigenval<-get_eigenvalue(MCA_indicadores)
pander(head(eigenval))
eigenvalue | variance.percent | cumulative.variance.percent | |
---|---|---|---|
Dim.1 | 0.4816 | 28.9 | 28.9 |
Dim.2 | 0.3847 | 23.08 | 51.98 |
Dim.3 | 0.211 | 12.66 | 64.64 |
Dim.4 | 0.1576 | 9.453 | 74.09 |
Dim.5 | 0.1501 | 9.008 | 83.1 |
Dim.6 | 0.1233 | 7.398 | 90.5 |
fviz_screeplot(MCA_indicadores, addlabels = TRUE, ylim = c(0, 15)) + geom_hline(yintercept = 7.14, linetype = 2, color = "purple")
El screeplot grafica estos eigenvalues ordenados de mayor a menor, determina el número de componentes principales. La línea roja es el eigenvalue promedio sobre el cual el eje se debería mantener en la solución. En este sentido, se observa que se deberían incluir 6 o 7 dimensiones aproximadamente en el análisis para obtener la explicación deseada.
fviz_mca_biplot(MCA_indicadores, repel = TRUE,
ggtheme = theme_grey())+labs(
title ="Razas y sus clasificaciones")
Al generar una nube de puntos simultanea con las razas de perros y características (categorías) se puede analizar que:
• Las razas beau, masa, podf y coll, poseen inteligencia alta y peso medio. • La raza dálmata presenta características como: tamaño mediano y velocidad media, mismas características que comparte con las razas boxe, podb y labr. • La raza Bass, está relacionado con poca velocidad. • La raza Stbe está asociada a inteligencia baja.
Se agrega la variable suplementaria “Funcion” a la base de datos, para crear una que la incluya.
DataBase_2<-cbind(DataBase,Funcion)
DataBase_2
## Inteligencia Tamaño Velocidad Peso Agresividad Afectividad Funcion
## bass low sma low lig hig low hun
## beau med lar hig med hig hig uti
## boxe med med med med hig hig com
## buld med sma low lig low hig com
## bulm hig lar low hea hig low uti
## cani hig sma med lig low hig com
## chih low sma low lig low hig com
## cock med med low lig hig hig com
## coll med lar hig med low hig com
## dalm med med med med low hig com
## dobe hig lar hig med hig low uti
## dogo low lar hig hea hig low uti
## foxh low lar hig med hig low hun
## foxt med sma med lig hig hig com
## galg low lar hig med low low hun
## gasc low lar med med hig low hun
## labr med med med med low hig hun
## masa hig lar hig med hig hig uti
## mast low lar low hea hig low uti
## peki low sma low lig low hig com
## podb hig med med med low hig hun
## podf med lar med med low low hun
## poin hig lar hig med low low hun
## sett med lar hig med low low hun
## stbe med lar low hea hig low uti
## teck med sma low lig low hig com
## tern med lar low hea low low uti
Funcion_Variable<-MCA(DataBase_2,quali.sup = 7,ncp=2,graph = FALSE)
coord<-Funcion_Variable$quali.sup$coord
coord
## Dim 1 Dim 2
## com 1.0393408 0.09532043
## hun -0.3223906 -0.43243220
## uti -0.9364865 0.36733569
fviz_mca_var(Funcion_Variable,repel=T)+labs(
title ="Nube de puntos de Categorias y Edad Suplementaria")
Al analizar la adicción de la variable suplementaria del enunciado, se observa que: • Las razas de perros de utilidad están relacionadas con baja afectividad. • Las razas de perros cazadores están asociados a inteligencia alta. • Los perros de compañía están relacionados con alto afectividad.