Se cargan los paquetes requeridos:

library("factoextra")
Loading required package: ggplot2
library("FactoMineR")

Ahora, se leen los datos:

#--- 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.

Se hace el Análisis de Correspondencias Múltiple:

res.mca <- MCA(poison, quanti.sup = 1:2, quali.sup = 3:4, graph = F)

Se extraen los resultados:

#--- 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"

Se visualizan las contribuciones en el eje 1:

#--- 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)

Se grafican los resultados:

#--- 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

LS0tDQp0aXRsZTogIkFuw6FsaXNpcyBkZSBDb3JyZXNwb25kZW5jaWFzIE3Dumx0aXBsZSINCmF1dGhvcjogIlN0ZXBoYW5pZSBWYWxkZXJyYW1hIg0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQoNCiMjIFNlIGNhcmdhbiBsb3MgcGFxdWV0ZXMgcmVxdWVyaWRvczoNCmBgYHtyfQ0KbGlicmFyeSgiZmFjdG9leHRyYSIpDQpsaWJyYXJ5KCJGYWN0b01pbmVSIikNCmBgYA0KIyMgQWhvcmEsIHNlIGxlZW4gbG9zIGRhdG9zOg0KYGBge3J9DQojLS0tIGRhdG9zIHByb3ZpdG9zIGVuIGxvcyBwYXF1ZXRlczoge0ZhY3RvTWluZVJ9IHkge2ZhY3RvZXh0cmF9DQpkYXRhKCJwb2lzb24iKQ0KYGBgDQpMb3MgZGF0b3MgZXN0w6FuIGVuIHVuIGRhdGEuZnJhbWU6IFByaW1lcmEgZmlsYSBjb24gbG9zIG5vbWJyZXMgZGUgbGFzIGNvbHVtbmFzLiAgRW4gZXN0ZSBlamVtcGxvLCBoYXkgZG9zIHZhcmlhYmxlcyBjdWFudGl0YXRpdmFzIHkgMTMgdmFyaWFibGVzIGNhdGVnw7NyaWNhcyBiaW5hcmlhcy4NCg0KIyMgU2UgaGFjZSBlbCBBbsOhbGlzaXMgZGUgQ29ycmVzcG9uZGVuY2lhcyBNw7psdGlwbGU6DQpgYGB7cn0NCnJlcy5tY2EgPC0gTUNBKHBvaXNvbiwgcXVhbnRpLnN1cCA9IDE6MiwgcXVhbGkuc3VwID0gMzo0LCBncmFwaCA9IEYpDQpgYGANCg0KIyMgU2UgZXh0cmFlbiBsb3MgcmVzdWx0YWRvczoNCmBgYHtyfQ0KIy0tLSBwYXJhIGxhcyBjYXRlZ29yw61hcyBkZSBsYXMgdmFyaWFibGVzOg0KZ2V0X21jYV92YXIocmVzLm1jYSkNCmBgYA0KDQpgYGB7cn0NCiMtLS0gcGFyYSBsb3MgaW5kaXZpZHVvczoNCmdldF9tY2FfaW5kKHJlcy5tY2EpDQpgYGANCg0KIyMgU2UgdmlzdWFsaXphbiBsYXMgY29udHJpYnVjaW9uZXMgZW4gZWwgZWplIDE6DQpgYGB7cn0NCiMtLS0gcGFyYSBsYXMgY2F0ZWdvcsOtYXMgZGUgbGFzIHZhcmlhYmxlczoNCmZ2aXpfY29udHJpYihyZXMubWNhLCBjaG9pY2UgPSAidmFyIiwgYXhlcyA9IDEpDQpgYGANCmBgYHtyfQ0KIy0tLSBwYXJhIGxvcyBpbmRpdmlkdW9zOg0KIyBzZWxlY2Npb25hbmRvIGxvcyAyMCBtw6FzIGltcG9ydGFudGVzDQpmdml6X2NvbnRyaWIocmVzLm1jYSwgY2hvaWNlID0gImluZCIsIGF4ZXMgPSAxLCB0b3AgPSAyMCkNCmBgYA0KDQojIyBTZSBncmFmaWNhbiBsb3MgcmVzdWx0YWRvczoNCmBgYHtyfQ0KIy0tLSBwYXJhIGxvcyBpbmRpdmlkdW9zOg0KIyBDb2xvcmVzIHBvciBncnVwb3MNCiMgQ29uIGVsaXBzZXMgZGUgY29uY2VudHJhY2nDs24NCiMgVXNlIHJlcGVsID0gVFJVRSBwYXJhIGV2aXRhciBzb2JyZXBvc2ljacOzbg0KZ3JwIDwtIGFzLmZhY3Rvcihwb2lzb25bLCAiVm9taXRpbmciXSkNCmZ2aXpfbWNhX2luZChyZXMubWNhLCBjb2wuaW5kID0gImJsdWUiLCBoYWJpbGxhZ2UgPSBncnAsDQogICAgICAgICAgICAgYWRkRWxsaXBzZXMgPSBUUlVFLCByZXBlbCA9IFRSVUUpICsgdGhlbWVfbWluaW1hbCgpDQpgYGANCmBgYHtyfQ0KIy0tLSBwYXJhIGxhcyBjYXRlZ29yw61hcyBkZSBsYXMgdmFyaWFibGVzOg0KZnZpel9tY2FfdmFyKHJlcy5tY2EsIHJlcGVsID0gVFJVRSkNCmBgYA0KDQpTZSBwdWVkZW4gc2VsZWNjaW9uYXIgc8OzbG8gYWxndW5hcyBjYXRlZ29yaWFzIGRlIHZhcmlhYmxlczoNCmBgYHtyfQ0KIy0tLSBsYXMgMTAgbcOhcyBpbXBvcnRhbnRlcw0KZnZpel9tY2FfdmFyKHJlcy5tY2EsIHNlbGVjdC52YXIgPSBsaXN0KGNvbnRyaWIgPSAxMCkpDQpgYGANCmBgYHtyfQ0KIy0tLSBPIHBvciBub21icmVzOg0KZnZpel9tY2FfdmFyKHJlcy5tY2EsIA0KICAgICAgICAgICAgIHNlbGVjdC52YXI9IGxpc3QobmFtZSA9IGMoIkNvdXJnX24iLCAiRmV2ZXJfeSIsICJGZXZlcl9uIikpKQ0KYGBgDQoNCg0KYGBge3J9DQojLS0tIHkgbGEgdmlzdWFsaXphY2nDs24gY29uanVudGE6DQpmdml6X21jYV9iaXBsb3QocmVzLm1jYSwgcmVwZWwgPSBUUlVFKSArIHRoZW1lX21pbmltYWwoKQ0KYGBgDQoNClkgdGFtYmnDqW4gc2VsZWNjaW9uYXIgbG9zIGluZGl2aWR1b3MgbcOhcyBpbXBvcnRhbnRlcyAoMzAgZW4gZXN0ZSBjYXNvKSB5IGxhcyBjYXRlZ29yw61hcyBtw6FzIGltcG9ydGFudGVzICgxMCBlbiBlc3RlIGNhc28pLg0KYGBge3J9DQpmdml6X21jYV9iaXBsb3QocmVzLm1jYSwgDQogICAgICAgICAgICAgICAgc2VsZWN0LmluZCA9IGxpc3QoY29udHJpYiA9IDMwKSwgDQogICAgICAgICAgICAgICAgc2VsZWN0LnZhciA9IGxpc3QoY29udHJpYiA9IDEwKSkNCmBgYA0KDQoNCkVqZW1wbG8gZGUgYXBsaWNhY2nDs24gZGUgTUNBLCB0b21hZG8gZGU6IGh0dHA6Ly93d3cuc3RoZGEuY29tL2VuZ2xpc2gvd2lraS9mYWN0b2V4dHJhLXItcGFja2FnZS1lYXN5LW11bHRpdmFyaWF0ZS1kYXRhLWFuYWx5c2VzLWFuZC1lbGVnYW50LXZpc3VhbGl6YXRpb24=