library(dplyr)
library(knitr)
library(kableExtra)
library(DiagrammeR)
Y debes Calcular un indicador sintetico usando analisis factorial con componentes principales:
Y se tiene la siguiente extraccion (Completa la tabla)
componentes <- data.frame(
Componente = c("Componente 1", "Componente 2", "Componente 3", "Componente 4"),
Autovalor = c(6.8, 1.5, 0.7, 0.4),
Varianza_Explicada = c(68, 15, 9, 4),
Acumulado = c(68, 83, 90, 94)
)
kable(componentes, format = "markdown", caption = "Componentes Principales") %>%
kable_styling(full_width = FALSE, position = "center") %>%
row_spec(0, bold = TRUE, background = "#FFE6F6")
| Componente | Autovalor | Varianza_Explicada | Acumulado |
|---|---|---|---|
| Componente 1 | 6.8 | 68 | 68 |
| Componente 2 | 1.5 | 15 | 83 |
| Componente 3 | 0.7 | 9 | 90 |
| Componente 4 | 0.4 | 4 | 94 |
variables <- c(
"PIB per capita (X1)",
"Esperanza de vida (X2)",
"Anos de escolaridad (X3)",
"Tasa de mortalidad infantil (X4)",
"Acceso a internet (%) (X5)",
"Tasa de urbanizacion (%) (X6)",
"Emisiones de CO2 per capita (X7)",
"Participacion laboral femenina (%) (X8)",
"Indice de Estado de Derecho (X9)",
"Acceso a electricidad (%) (X10)"
)
cargas <- data.frame(
Variable = variables,
Componente1 = c(0.89, 0.92, 0.85, -0.91, 0.88, 0.4, 0.35, 0.82, 0.9, 0.93),
Componente2 = c(0.21, 0.15, 0.30, -0.1, 0.25, 0.85, 0.88, -0.20, 0.18, 0.12)
)
cargas
## Variable Componente1 Componente2
## 1 PIB per capita (X1) 0.89 0.21
## 2 Esperanza de vida (X2) 0.92 0.15
## 3 Anos de escolaridad (X3) 0.85 0.30
## 4 Tasa de mortalidad infantil (X4) -0.91 -0.10
## 5 Acceso a internet (%) (X5) 0.88 0.25
## 6 Tasa de urbanizacion (%) (X6) 0.40 0.85
## 7 Emisiones de CO2 per capita (X7) 0.35 0.88
## 8 Participacion laboral femenina (%) (X8) 0.82 -0.20
## 9 Indice de Estado de Derecho (X9) 0.90 0.18
## 10 Acceso a electricidad (%) (X10) 0.93 0.12
kable(cargas, format = "markdown",
caption = "Cargas Factoriales por Componente") %>%
kable_styling(full_width = FALSE, position = "center") %>%
row_spec(0, bold = TRUE, background = "#FFE6F6")
| Variable | Componente1 | Componente2 |
|---|---|---|
| PIB per capita (X1) | 0.89 | 0.21 |
| Esperanza de vida (X2) | 0.92 | 0.15 |
| Anos de escolaridad (X3) | 0.85 | 0.30 |
| Tasa de mortalidad infantil (X4) | -0.91 | -0.10 |
| Acceso a internet (%) (X5) | 0.88 | 0.25 |
| Tasa de urbanizacion (%) (X6) | 0.40 | 0.85 |
| Emisiones de CO2 per capita (X7) | 0.35 | 0.88 |
| Participacion laboral femenina (%) (X8) | 0.82 | -0.20 |
| Indice de Estado de Derecho (X9) | 0.90 | 0.18 |
| Acceso a electricidad (%) (X10) | 0.93 | 0.12 |
Calcule los pesos y dibuja el diagrama del indicador para esta bateria de indicadores
# Comunalidades (suma de cuadrados de las cargas)
cargas$Comunalidad <- cargas$Componente1^2 + cargas$Componente2^2
# Pesos normalizados para el indicador sintético
cargas$Peso <- round(cargas$Comunalidad / sum(cargas$Comunalidad), 4)
# Tabla final de pesos
pesos_df <- cargas %>% select(Variable, Peso)
kable(pesos_df, format = "markdown", caption = "Pesos de las Variables para el Indicador Sintetico") %>%
kable_styling(full_width = FALSE, position = "center") %>%
row_spec(0, bold = TRUE, background = "#FFE6F6")
| Variable | Peso |
|---|---|
| PIB per capita (X1) | 0.0995 |
| Esperanza de vida (X2) | 0.1034 |
| Anos de escolaridad (X3) | 0.0967 |
| Tasa de mortalidad infantil (X4) | 0.0997 |
| Acceso a internet (%) (X5) | 0.0996 |
| Tasa de urbanizacion (%) (X6) | 0.1050 |
| Emisiones de CO2 per capita (X7) | 0.1067 |
| Participacion laboral femenina (%) (X8) | 0.0847 |
| Indice de Estado de Derecho (X9) | 0.1002 |
| Acceso a electricidad (%) (X10) | 0.1046 |
library(DiagrammeR)
diagrama <- grViz("
digraph bateria_indicadores {
graph [layout = dot, rankdir = LR, label = 'Diagrama del Indicador', labelloc = t, fontsize = 20]
// Componentes
F1 [label='F1', shape=circle, style=filled, fillcolor=pink]
F2 [label='F2', shape=circle, style=filled, fillcolor=purple]
// Variables
X1 [label='X1 PIB per capita', shape=oval]
X2 [label='X2 Esperanza de vida', shape=oval]
X3 [label='X3 Anos de escolaridad', shape=oval]
X4 [label='X4 Tasa mortalidad infantil', shape=oval]
X5 [label='X5 Acceso a internet', shape=oval]
X6 [label='X6 Tasa urbanizacion', shape=oval]
X7 [label='X7 Emisiones de CO2', shape=oval]
X8 [label='X8 Participacion laboral femenina', shape=oval]
X9 [label='X9 Indice de Estado de Derecho', shape=oval]
X10 [label='X10 Acceso a electricidad', shape=oval]
// Flechas de F1
F1 -> X1 [label='0.0995']
F1 -> X2 [label='0.1034']
F1 -> X3 [label='0.0967']
F1 -> X4 [label='0.0997']
F1 -> X5 [label='0.0998']
F1 -> X8 [label='0.0847']
F1 -> X9 [label='0.1002']
F1 -> X10 [label='0.1046']
// Flechas de F2
F2 -> X6 [label='0.1050']
F2 -> X7 [label='0.1067']
// Alinear variables verticalmente
{ rank = same; X1 -> X2 -> X3 -> X4 -> X5 -> X6 -> X7 -> X8 -> X9 -> X10 [style=invis] }
// Componentes a la izquierda
{ rank = min; F1; F2 }
}
")
diagrama