library("factoextra")
Loading required package: ggplot2
library("FactoMineR")
#--- datos provitos en los paquetes: {FactoMineR} y {factoextra}
data("poison")
Los datos están en un data.frame: Primera fila con los nombres de las columnas. En este ejemplo, hay dos variables cuantitativas y 13 variables categóricas binarias.
res.mca <- MCA(poison, quanti.sup = 1:2, quali.sup = 3:4, graph = F)
#--- para las categorías de las variables:
get_mca_var(res.mca)
Multiple Correspondence Analysis Results for variables
===================================================
Name Description
1 "$coord" "Coordinates for categories"
2 "$cos2" "Cos2 for categories"
3 "$contrib" "contributions of categories"
#--- para los individuos:
get_mca_ind(res.mca)
Multiple Correspondence Analysis Results for individuals
===================================================
Name Description
1 "$coord" "Coordinates for the individuals"
2 "$cos2" "Cos2 for the individuals"
3 "$contrib" "contributions of the individuals"
#--- para las categorías de las variables:
fviz_contrib(res.mca, choice ="var", axes = 1)
#--- para los individuos:
# seleccionando los 20 más importantes
fviz_contrib(res.mca, choice ="ind", axes = 1, top = 20)
#--- para los individuos:
# Colores por grupos
# Con elipses de concentración
# Use repel = TRUE para evitar sobreposición
grp <- as.factor(poison[, "Vomiting"])
fviz_mca_ind(res.mca, col.ind = "blue", habillage = grp,
addEllipses = TRUE, repel = TRUE) + theme_minimal()
#--- para las categorías de las variables:
fviz_mca_var(res.mca, repel = TRUE)
Se pueden seleccionar sólo algunas categorias de variables:
#--- las 10 más importantes
fviz_mca_var(res.mca, select.var = list(contrib = 10))
#--- O por nombres:
fviz_mca_var(res.mca,
select.var= list(name = c("Courg_n", "Fever_y", "Fever_n")))
#--- y la visualización conjunta:
fviz_mca_biplot(res.mca, repel = TRUE) + theme_minimal()
Y también seleccionar los individuos más importantes (30 en este caso) y las categorías más importantes (10 en este caso).
fviz_mca_biplot(res.mca,
select.ind = list(contrib = 30),
select.var = list(contrib = 10))
Ejemplo de aplicación de MCA, tomado de: http://www.sthda.com/english/wiki/factoextra-r-package-easy-multivariate-data-analyses-and-elegant-visualization