# Configurar el espejo de CRAN para evitar errores al instalar paquetes
options(repos = c(CRAN = "https://cran.rstudio.com"))

library("factoextra")  
## Warning: package 'factoextra' was built under R version 4.4.2
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library("FactoMineR")  
## Warning: package 'FactoMineR' was built under R version 4.4.2
library("readr")       

### Métodos multivariados


datos_estilo_aprendizaje <- read_csv("C:/Users/User/Desktop/Testaptitud.csv")
## Rows: 49 Columns: 45
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (45): Individuo, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Realizar el Análisis de Correspondencias Múltiples (MCA)
res.mca <- MCA(datos_estilo_aprendizaje, graph = FALSE)


print(res.mca)
## **Results of the Multiple Correspondence Analysis (MCA)**
## The analysis was performed on 49 individuals, described by 45 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  "$var$eta2"       "coord. of variables"             
## 8  "$ind"            "results for the individuals"     
## 9  "$ind$coord"      "coord. for the individuals"      
## 10 "$ind$cos2"       "cos2 for the individuals"        
## 11 "$ind$contrib"    "contributions of the individuals"
## 12 "$call"           "intermediate results"            
## 13 "$call$marge.col" "weights of columns"              
## 14 "$call$marge.li"  "weights of rows"
eig.val <- get_eigenvalue(res.mca)

# Visualizar el plot para ver la importancia de cada dimensión
fviz_screeplot(res.mca, addlabels = TRUE, ylim = c(0, 45))

# Crear un Biplot del MCA mostrando variables y observaciones
fviz_mca_biplot(res.mca, 
                repel = TRUE, 
                ggtheme = theme_minimal())

# Visualizar la correlación de las variables con las dimensiones principales
fviz_mca_var(res.mca, choice = "mca.cor", 
             repel = TRUE, 
             ggtheme = theme_minimal())

# Visualización general de las variables en el espacio MCA
fviz_mca_var(res.mca, 
             repel = TRUE, 
             ggtheme = theme_minimal())

# Colorear las variables según la calidad de la representación (cos2)
fviz_mca_var(res.mca, col.var = "cos2",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE, 
             ggtheme = theme_minimal())

library("corrplot")
## Warning: package 'corrplot' was built under R version 4.4.2
## corrplot 0.95 loaded
var <- get_mca_var(res.mca)

# Crear un gráfico de correlación para la calidad de representación (cos2)
corrplot(var$cos2, is.corr=FALSE)

# Visualizar la calidad de las variables en los ejes 1 y 2
fviz_cos2(res.mca, choice = "var", axes = 1:2)

# Mostrar la contribución de las variables a la primera dimensión
fviz_contrib(res.mca, choice = "var", axes = 1, top = 15)

# Mostrar la contribución de las variables a la segunda dimensión
fviz_contrib(res.mca, choice = "var", axes = 2, top = 15)

# Visualización final de las variables con un gradiente de color según su contribución
fviz_mca_var(res.mca, col.var = "contrib",
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE, 
             ggtheme = theme_minimal()
)