Ejemplo

# Cargar librerías
library(dplyr)

Adjuntando el paquete: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(readr)
library(PerformanceAnalytics)
Cargando paquete requerido: xts
Cargando paquete requerido: zoo

Adjuntando el paquete: 'zoo'
The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

######################### Warning from 'xts' package ##########################
#                                                                             #
# The dplyr lag() function breaks how base R's lag() function is supposed to  #
# work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
# source() into this session won't work correctly.                            #
#                                                                             #
# Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
# conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
# dplyr from breaking base R's lag() function.                                #
#                                                                             #
# Code in packages is not affected. It's protected by R's namespace mechanism #
# Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
#                                                                             #
###############################################################################

Adjuntando el paquete: 'xts'
The following objects are masked from 'package:dplyr':

    first, last

Adjuntando el paquete: 'PerformanceAnalytics'
The following object is masked from 'package:graphics':

    legend
library(psych)
library(FactoMineR)
library(factoextra)
Cargando paquete requerido: ggplot2

Adjuntando el paquete: '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
library(kableExtra)

Adjuntando el paquete: 'kableExtra'
The following object is masked from 'package:dplyr':

    group_rows
library(corrplot)
corrplot 0.95 loaded

You can add options to executable code like this

# Cargar archivo CSV
ejemplo <- read_csv2("C:/Users/dfuentes/Downloads/Base_de_datos_anual.csv")
ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
Rows: 16 Columns: 8
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
dbl (8): Tasa de Interes Empresarial promedio ponderada, Producto Interno Br...

ℹ 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.
# Normalización de Datos usando across y los helpers
norm_directa<-function(x){(x-min(x))/(max(x)-min(x))}
norm_inversa<-function(x){(max(x)-x)/(max(x)-min(x))}
df<-ejemplo
nombres_originales<-names(df)
tipo_correlacion<-c("inversa","directa","inversa","inversa","directa", "directa", "directa", "inversa")
names(df)<-paste0(names(df),"_",tipo_correlacion)
df<-df |> 
  mutate(across(all_of(ends_with("directa")),norm_directa)) |> 
  mutate(across(all_of(ends_with("inversa")),norm_inversa))
names(df)<-nombres_originales
datos_financieros_normalizados<-df
head(datos_financieros_normalizados)
# A tibble: 6 × 8
  Tasa de Interes Empresarial pr…¹ Producto Interno Bru…² indice de tipo de ca…³
                             <dbl>                  <dbl>                  <dbl>
1                             0.75                 0.0185                  1    
2                             0.5                  0.0691                  0.833
3                             0.75                 0.179                   0.583
4                             1                    0.245                   0.667
5                             1                    0.281                   0.583
6                             0.75                 0.317                   0.5  
# ℹ abbreviated names: ¹​`Tasa de Interes Empresarial promedio ponderada`,
#   ²​`Producto Interno Bruto`, ³​`indice de tipo de cambio efectivo real global`
# ℹ 5 more variables:
#   `indice de tipo de cambio efectivo real bilateral con Estados Unidos` <dbl>,
#   `Inversion Extranjera directa` <dbl>, `Educacion Promedio Years` <dbl>,
#   `Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje` <dbl>,
#   `Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación` <dbl>
#Matriz de Correlación & Pruebas de Barlett y KMO
chart.Correlation(as.matrix(datos_financieros_normalizados),histogram = TRUE,pch=12)

#KMO
datos_kmo <- select_if(datos_financieros_normalizados, is.numeric)
KMO_resultado <- KMO(datos_kmo)
print(KMO_resultado)
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = datos_kmo)
Overall MSA =  0.46
MSA for each item = 
                                                 Tasa de Interes Empresarial promedio ponderada 
                                                                                           0.26 
                                                                         Producto Interno Bruto 
                                                                                           0.50 
                                                  indice de tipo de cambio efectivo real global 
                                                                                           0.50 
                            indice de tipo de cambio efectivo real bilateral con Estados Unidos 
                                                                                           0.46 
                                                                   Inversion Extranjera directa 
                                                                                           0.40 
                                                                       Educacion Promedio Years 
                                                                                           0.67 
                    Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje 
                                                                                           0.39 
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación 
                                                                                           0.26 
#Prueba de Barlett
options(scipen = 99999)
Barlett<-cortest.bartlett(datos_financieros_normalizados)
R was not square, finding R from data
print(Barlett)
$chisq
[1] 80.09094

$p.value
[1] 0.0000006469879

$df
[1] 28
#Análisis Factorial
Rx<-cor(datos_financieros_normalizados)
PC<-princomp(x = datos_financieros_normalizados,cor = TRUE,fix_sign = FALSE)
variables_pca<-get_pca_var(PC)
factoextra::get_eig(PC) %>% kable(caption="Resumen de PCA",
                                  align = "c",
                                  digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("hover"))
Resumen de PCA
eigenvalue variance.percent cumulative.variance.percent
Dim.1 3.84 47.95 47.95
Dim.2 1.56 19.51 67.46
Dim.3 1.03 12.91 80.37
Dim.4 0.82 10.27 90.65
Dim.5 0.41 5.17 95.81
Dim.6 0.23 2.89 98.70
Dim.7 0.08 0.99 99.69
Dim.8 0.02 0.31 100.00
fviz_eig(PC,
        choice = "eigenvalue",
        barcolor = "red",
        barfill = "red",
        addlabels = TRUE, 
)+labs(title = "Gráfico de Sedimentación",subtitle = "Usando princomp, con Autovalores")+
  xlab(label = "Componentes")+
  ylab(label = "Autovalores")+geom_hline(yintercept = 1)

#Modelo de 2 Factores (Rotada)
numero_de_factores<-2
modelo_factores<-principal(r = Rx,
                           nfactors = numero_de_factores,
                           covar = FALSE,
                           rotate = "varimax")
modelo_factores
Principal Components Analysis
Call: principal(r = Rx, nfactors = numero_de_factores, rotate = "varimax", 
    covar = FALSE)
Standardized loadings (pattern matrix) based upon correlation matrix
                                                                                                  RC1
Tasa de Interes Empresarial promedio ponderada                                                   0.66
Producto Interno Bruto                                                                          -0.37
indice de tipo de cambio efectivo real global                                                    0.75
indice de tipo de cambio efectivo real bilateral con Estados Unidos                              0.89
Inversion Extranjera directa                                                                    -0.19
Educacion Promedio Years                                                                        -0.86
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje                      0.34
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación  0.41
                                                                                                  RC2
Tasa de Interes Empresarial promedio ponderada                                                   0.63
Producto Interno Bruto                                                                           0.82
indice de tipo de cambio efectivo real global                                                   -0.50
indice de tipo de cambio efectivo real bilateral con Estados Unidos                             -0.23
Inversion Extranjera directa                                                                     0.84
Educacion Promedio Years                                                                         0.34
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje                     -0.45
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación -0.10
                                                                                                  h2
Tasa de Interes Empresarial promedio ponderada                                                  0.84
Producto Interno Bruto                                                                          0.81
indice de tipo de cambio efectivo real global                                                   0.80
indice de tipo de cambio efectivo real bilateral con Estados Unidos                             0.85
Inversion Extranjera directa                                                                    0.75
Educacion Promedio Years                                                                        0.85
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje                     0.32
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación 0.18
                                                                                                  u2
Tasa de Interes Empresarial promedio ponderada                                                  0.16
Producto Interno Bruto                                                                          0.19
indice de tipo de cambio efectivo real global                                                   0.20
indice de tipo de cambio efectivo real bilateral con Estados Unidos                             0.15
Inversion Extranjera directa                                                                    0.25
Educacion Promedio Years                                                                        0.15
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje                     0.68
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación 0.82
                                                                                                com
Tasa de Interes Empresarial promedio ponderada                                                  2.0
Producto Interno Bruto                                                                          1.4
indice de tipo de cambio efectivo real global                                                   1.7
indice de tipo de cambio efectivo real bilateral con Estados Unidos                             1.1
Inversion Extranjera directa                                                                    1.1
Educacion Promedio Years                                                                        1.3
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje                     1.8
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación 1.1

                       RC1  RC2
SS loadings           2.97 2.42
Proportion Var        0.37 0.30
Cumulative Var        0.37 0.67
Proportion Explained  0.55 0.45
Cumulative Proportion 0.55 1.00

Mean item complexity =  1.5
Test of the hypothesis that 2 components are sufficient.

The root mean square of the residuals (RMSR) is  0.11 

Fit based upon off diagonal values = 0.94
correlaciones_modelo<-variables_pca$coord
rotacion<-varimax(correlaciones_modelo[,1:numero_de_factores])
correlaciones_modelo_rotada<-rotacion$loadings
corrplot(correlaciones_modelo_rotada[, 1:numero_de_factores],
         is.corr = FALSE,
         method = "square",
         addCoef.col = "grey",
         number.cex = 0.5,  
         tl.cex = 0.5)

cargas<-rotacion$loadings[1:8,1:numero_de_factores]
ponderadores<-prop.table(apply(cargas^2,MARGIN = 2,sum))
t(ponderadores) %>% kable(caption="Ponderadores de los Factores Extraídos",
                          align = "c",
                          digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
Ponderadores de los Factores Extraídos
Dim.1 Dim.2
0.55 0.45
contribuciones<-apply(cargas^2,MARGIN = 2,prop.table)
contribuciones %>% kable(caption="Contribución de las variables en los Factores",
                         align = "c",
                         digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
Contribución de las variables en los Factores
Dim.1 Dim.2
Tasa de Interes Empresarial promedio ponderada 0.15 0.17
Producto Interno Bruto 0.04 0.28
indice de tipo de cambio efectivo real global 0.19 0.10
indice de tipo de cambio efectivo real bilateral con Estados Unidos 0.27 0.02
Inversion Extranjera directa 0.01 0.29
Educacion Promedio Years 0.25 0.05
Tasa arancelaria aplicada promedio ponderado todos los productos porcentaje 0.04 0.08
Impuestos sobre la renta las utilidades y las ganancias de capital porcentaje de la recaudación 0.06 0.00