options(repos = structure(c(CRAN = "https://cran.rstudio.com/")))
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\RtmpEtee0R\downloaded_packages
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.1
getwd()
## [1] "C:/Users/HP/Desktop"
DI <- read_excel("DAT1.XLSX")
str(DI) # Muestra la estructura de los datos
## tibble [136 × 12] (S3: tbl_df/tbl/data.frame)
## $ P1 : num [1:136] 5 4 5 5 4 5 4 5 2 2 ...
## $ P.2: num [1:136] 4 2 5 5 4 3 4 2 3 3 ...
## $ P3 : num [1:136] 4 2 3 5 3 5 3 5 3 3 ...
## $ P4 : num [1:136] 2 1 5 5 2 5 5 5 5 5 ...
## $ P5 : num [1:136] 5 2 5 5 4 5 4 5 3 3 ...
## $ P6 : num [1:136] 5 2 5 3 4 5 4 5 3 2 ...
## $ P7 : num [1:136] 4 1 5 5 4 5 4 5 3 3 ...
## $ P8 : num [1:136] 2 2 5 3 5 5 5 5 3 2 ...
## $ P9 : num [1:136] 5 3 5 5 4 5 4 5 3 3 ...
## $ P10: num [1:136] 5 2 5 3 4 5 4 5 3 2 ...
## $ P11: num [1:136] 2 1 5 5 2 5 5 5 5 5 ...
## $ P12: num [1:136] 5 2 5 5 4 5 4 5 3 3 ...
head(DI) # Muestra las primeras filas de los datos
## # A tibble: 6 × 12
## P1 P.2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 5 4 4 2 5 5 4 2 5 5 2 5
## 2 4 2 2 1 2 2 1 2 3 2 1 2
## 3 5 5 3 5 5 5 5 5 5 5 5 5
## 4 5 5 5 5 5 3 5 3 5 3 5 5
## 5 4 4 3 2 4 4 4 5 4 4 2 4
## 6 5 3 5 5 5 5 5 5 5 5 5 5
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\RtmpEtee0R\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\RtmpEtee0R\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 = "yellow")
# 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 = 2, rotation = "varimax", scores = "regression")
# Mostrar los resultados del EFA
print(efa_result)
##
## Call:
## factanal(x = DI, factors = 2, scores = "regression", rotation = "varimax")
##
## Uniquenesses:
## P1 P.2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
## 0.677 0.791 0.531 0.632 0.495 0.398 0.615 0.656 0.208 0.145 0.005 0.356
##
## Loadings:
## Factor1 Factor2
## P1 0.568
## P.2 0.456
## P3 0.680
## P4 0.606
## P5 0.701 0.118
## P6 0.774
## P7 0.609 0.119
## P8 0.586
## P9 0.890
## P10 0.923
## P11 0.997
## P12 0.801
##
## Factor1 Factor2
## SS loadings 5.087 1.405
## Proportion Var 0.424 0.117
## Cumulative Var 0.424 0.541
##
## Test of the hypothesis that 2 factors are sufficient.
## The chi square statistic is 67.69 on 43 degrees of freedom.
## The p-value is 0.00952