options(repos = structure(c(CRAN = "https://cran.rstudio.com/")))
knitr::opts_chunk$set(echo = TRUE)
install.packages("psych")
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'psych' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\HP\AppData\Local\Temp\RtmpQrC2Xz\downloaded_packages
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.1
DI <- read_excel("investigando INEI MI SPSS/S6.XLSX")
str(DI)  # Muestra la estructura de los datos
## tibble [136 × 6] (S3: tbl_df/tbl/data.frame)
##  $ D1: num [1:136] 15 17 18 20 13 8 16 9 13 13 ...
##  $ D2: num [1:136] 20 20 20 16 16 4 16 8 12 10 ...
##  $ D3: num [1:136] 19 30 30 26 24 7 24 12 18 17 ...
##  $ D4: num [1:136] 13 20 20 18 14 8 17 7 14 13 ...
##  $ D5: num [1:136] 13 20 20 20 14 8 17 7 14 14 ...
##  $ DA: num [1:136] 26 30 30 26 24 6 24 14 17 15 ...
head(DI)  # Muestra las primeras filas de los datos
## # A tibble: 6 × 6
##      D1    D2    D3    D4    D5    DA
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1    15    20    19    13    13    26
## 2    17    20    30    20    20    30
## 3    18    20    30    20    20    30
## 4    20    16    26    18    20    26
## 5    13    16    24    14    14    24
## 6     8     4     7     8     8     6
install.packages("psych")  # Instalar la biblioteca psych
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'psych' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\HP\AppData\Local\Temp\RtmpQrC2Xz\downloaded_packages
library(psych)
## Warning: package 'psych' was built under R version 4.3.1
install.packages("factoextra") 
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'factoextra' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\HP\AppData\Local\Temp\RtmpQrC2Xz\downloaded_packages
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.1
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.1
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
# Calcular los autovalores
eigenvalues <- eigen(cor(DI))$values
# Calcular la varianza explicada
var_explained <- eigenvalues / sum(eigenvalues) * 100
# Crear un gráfico de barras de la varianza explicada
barplot(var_explained, main = "Varianza Explicada", xlab = "Componente", ylab = "Porcentaje de Varianza", ylim = c(0, 100))

library(factoextra)
# Realizar la reducción de dimensionalidad mediante PCA
pca_result <- prcomp(DI, scale. = TRUE)  # 'data' es tu matriz de datos
# Visualizar la varianza explicada por cada componente
fviz_screeplot(pca_result, addlabels = TRUE, ylim = c(0, 50))

CORRECION

# Realizar el análisis factorial principal (PCA)
pca_result <- princomp(DI)
# Obtener la varianza explicada por cada componente
var_explained <- pca_result$sdev^2 / sum(pca_result$sdev^2) * 100
# Crear el gráfico de varianza explicada
fviz_screeplot(pca_result, addlabels = TRUE, ylim = c(0, 50),
               title = "Varianza Explicada por Componente")

# Obtener las cargas factoriales
factor_loadings <- loadings(pca_result)
# Visualizar las cargas factoriales en un gráfico de círculo de correlaciones
fviz_pca_var(pca_result, col.var = "black")

# Obtener los puntajes factoriales para cada observación
factor_scores <- as.data.frame(pca_result$scores)
# Realizar un gráfico de dispersión de los puntajes factoriales
fviz_pca_ind(pca_result, col.ind = "cos2")

# Realizar un análisis de factores exploratorios (EFA) utilizando el método de máxima verosimilitud
efa_result <- factanal(DI, factors = 3, rotation = "varimax", scores = "regression")
# Mostrar los resultados del EFA
print(efa_result)
## 
## Call:
## factanal(x = DI, factors = 3, scores = "regression", rotation = "varimax")
## 
## Uniquenesses:
##    D1    D2    D3    D4    D5    DA 
## 0.427 0.183 0.005 0.125 0.100 0.020 
## 
## Loadings:
##    Factor1 Factor2 Factor3
## D1 0.583   0.419   0.239  
## D2 0.499   0.616   0.434  
## D3 0.458   0.517   0.720  
## D4 0.782   0.421   0.294  
## D5 0.779   0.328   0.430  
## DA 0.445   0.798   0.382  
## 
##                Factor1 Factor2 Factor3
## SS loadings      2.215   1.745   1.181
## Proportion Var   0.369   0.291   0.197
## Cumulative Var   0.369   0.660   0.857
## 
## The degrees of freedom for the model is 0 and the fit was 0