INTEGRANTES:
El problema 1 tiene como objetivo evaluar el efecto de tres tipos de entrenamiento (Técnico, Resistencia y Fuerza) sobre el rendimiento de 20 nadadores, medido a través de sus tiempos en tres pruebas (50m, 100m y 200m). Para controlar las diferencias individuales en el rendimiento inicial, se emplea un análisis MANCOVA (Análisis Multivariado de Covarianza), utilizando los tiempos previos al entrenamiento como covariables.
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Cargando paquete requerido: broom
## Cargando paquete requerido: MASS
##
## Adjuntando el paquete: 'MASS'
##
## The following object is masked from 'package:dplyr':
##
## select
##
## ---
## biotools version 4.3
##
## Adjuntando el paquete: 'biotools'
##
## The following object is masked from 'package:heplots':
##
## boxM
##
## Adjuntando el paquete: 'psych'
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
##
## Adjuntando el paquete: 'jmv'
##
## The following objects are masked from 'package:psych':
##
## pca, reliability
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
##
## The following object is masked from 'package:psych':
##
## logit
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
##
## Adjuntando el paquete: 'gridExtra'
##
## The following object is masked from 'package:dplyr':
##
## combine
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
## Cargando paquete requerido: foreign
## Cargando paquete requerido: survival
## Cargando paquete requerido: nnet
##
## Adjuntando el paquete: 'epiDisplay'
##
## The following objects are masked from 'package:psych':
##
## alpha, cs, lookup
##
## The following object is masked from 'package:ggplot2':
##
## alpha
##
## Adjuntando el paquete: 'scales'
##
## The following object is masked from 'package:epiDisplay':
##
## alpha
##
## The following objects are masked from 'package:psych':
##
## alpha, rescale
##
## The following object is masked from 'package:purrr':
##
## discard
##
## The following object is masked from 'package:readr':
##
## col_factor
##
## Adjuntando el paquete: 'rgl'
##
## The following objects are masked from 'package:heplots':
##
## arrow3d, bbox3d
## Cargando paquete requerido: viridisLite
##
## Adjuntando el paquete: 'viridis'
##
## The following object is masked from 'package:scales':
##
## viridis_pal
## Cargando paquete requerido: lattice
##
## Adjuntando el paquete: 'lattice'
##
## The following object is masked from 'package:epiDisplay':
##
## dotplot
##
##
## Adjuntando el paquete: 'BSDA'
##
## The following objects are masked from 'package:carData':
##
## Vocab, Wool
##
## The following object is masked from 'package:datasets':
##
## Orange
## Registered S3 methods overwritten by 'dlookr':
## method from
## plot.transform scales
## print.transform scales
##
## Adjuntando el paquete: 'dlookr'
##
## The following object is masked from 'package:psych':
##
## describe
##
## The following object is masked from 'package:tidyr':
##
## extract
##
## The following object is masked from 'package:base':
##
## transform
##
## Adjuntando el paquete: 'summarytools'
##
## The following object is masked from 'package:tibble':
##
## view
##
## Adjuntando el paquete: 'pastecs'
##
## The following object is masked from 'package:dlookr':
##
## extract
##
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## The following object is masked from 'package:tidyr':
##
## extract
## corrplot 0.95 loaded
## 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:pastecs':
##
## first, last
##
## The following objects are masked from 'package:dplyr':
##
## first, last
##
##
## Adjuntando el paquete: 'PerformanceAnalytics'
##
## The following objects are masked from 'package:dlookr':
##
## kurtosis, skewness
##
## The following object is masked from 'package:graphics':
##
## legend
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
##
## Adjuntando el paquete: 'patchwork'
##
## The following object is masked from 'package:MASS':
##
## area
##
## /// adegenet 2.1.11 is loaded ////////////
##
## > overview: '?adegenet'
## > tutorials/doc/questions: 'adegenetWeb()'
## > bug reports/feature requests: adegenetIssues()
##
##
##
## Adjuntando el paquete: 'adegenet'
##
## The following object is masked from 'package:survival':
##
## strata
##
## Adjuntando el paquete: 'FactoMineR'
##
## The following object is masked from 'package:ade4':
##
## reconst
##
## Adjuntando el paquete: 'jsonlite'
##
## The following object is masked from 'package:purrr':
##
## flatten
##
## Adjuntando el paquete: 'effectsize'
##
## The following object is masked from 'package:psych':
##
## phi
Variable Independiente: Tratamiento (T, R, F).
Variables Dependientes: Tiempos post-entrenamiento (post_50m, post_100m, post_200m).
Covariables: Tiempos pre-entrenamiento (pre_50m,pre_100,pre_200).
Entrenamiento Técnico (T): } Mejora la técnica de nado (posición corporal, coordinación brazos-piernas, eficiencia en vueltas).
Entrenamiento de Resistencia (R): Aumenta la capacidad aeróbica mediante series largas a intensidad moderada-alta.
Entrenamiento de Fuerza (F): Desarrolla la potencia muscular (gimnasio + arrastres en agua) y velocidad explosiva.
## New names:
## • `` -> `...8`
## • `` -> `...9`
## # A tibble: 6 × 7
## tratamiento pre_50m pre_100m pre_200m post_50m post_100m post_200m
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 T 28.5 62.3 135. 27.8 61.5 134
## 2 R 30.2 66.1 142. 29.5 65 141
## 3 F 29.8 65.4 141 29.5 65.8 142.
## 4 T 27.9 61.5 134. 27.5 60.8 132.
## 5 R 31 67.8 145. 30.8 67.5 144
## 6 F 30.5 66.8 144. 30.2 66 143.
Se realiaza un analisis a cada grupo (tipo de entrenamiento)
Grupo Fuerza (F)
Promedios: Los nadadores de este grupo tienen un rendimiento intermedio. Sus tiempos son más rápidos que los del grupo de Resistencia, pero más lentos que los del grupo Técnico, tanto antes como después del entrenamiento.
Asimetría: Los valores de skew son cercanos a 0 o negativos, lo que sugiere que los tiempos están distribuidos de forma bastante simétrica. No hay evidencia de nadadores muy fuera del promedio.
Curtosis: Todos los valores son negativos (por ejemplo, -1.74 en post_50m), lo que indica que los datos están concentrados cerca de la media, sin muchos valores extremos.
conclusion:
El entrenamiento de resistencia no parece haber mejorado significativamente los tiempos. Algunos nadadores incluso muestran tiempos por encima del promedio esperado, lo cual podría indicar menor efectividad de este enfoque para estas distancias.
Promedios: Este grupo tiene los tiempos más lentos, tanto antes como después del entrenamiento, en las tres distancias (ej. post_100m: 65.64s). Es el grupo con el menor rendimiento promedio.
Asimetría: Algunos valores son positivos (por ejemplo, skew = 0.42 en post_100m), lo que indica que algunos nadadores tuvieron tiempos más altos de lo esperado (más lentos).
Curtosis: Todos los valores son negativos, indicando una distribución uniforme sin valores atípicos.
Conclusion:
El entrenamiento de resistencia no parece haber mejorado significativamente los tiempos. Algunos nadadores incluso muestran tiempos por encima del promedio esperado, lo cual podría indicar menor efectividad de este enfoque para estas distancias.
Promedios: Este grupo muestra los mejores tiempos promedio, tanto en pre como en post entrenamiento (por ejemplo, post_50m: 27.81s), lo que indica un alto rendimiento general.
Consistencia: Es el grupo con menor desviación estándar, especialmente en pruebas de 50m y 100m. Esto sugiere que todos los nadadores del grupo tienen un rendimiento muy similar.
Asimetría: Los valores están muy cerca de 0, lo que indica una distribución simétrica
Curtosis: También negativa, indicando que los tiempos se agrupan bastante alrededor de la media.
Conclusion:
El entrenamiento técnico no solo mantiene un alto rendimiento, sino también una gran uniformidad entre los nadadores. Es el grupo más consistente y rápido, lo que sugiere que este tipo de entrenamiento fue el más efectivo en mejorar el rendimiento.
##
## Descriptive statistics by group
## group: F
## vars n mean sd median trimmed mad min max range skew
## pre_50m 1 6 29.63 0.60 29.65 29.63 0.59 28.8 30.5 1.7 0.03
## pre_100m 2 6 65.17 1.13 65.20 65.17 0.96 63.5 66.8 3.3 -0.04
## pre_200m 3 6 140.77 1.94 140.75 140.77 1.63 137.8 143.5 5.7 -0.11
## post_50m 4 6 29.53 0.68 29.65 29.53 0.82 28.5 30.2 1.7 -0.34
## post_100m 5 6 65.35 0.90 65.65 65.35 0.67 63.8 66.2 2.4 -0.66
## post_200m 6 6 141.37 1.70 141.70 141.37 1.70 138.5 143.0 4.5 -0.56
## kurtosis se
## pre_50m -1.61 0.25
## pre_100m -1.44 0.46
## pre_200m -1.40 0.79
## post_50m -1.74 0.28
## post_100m -1.34 0.37
## post_200m -1.40 0.69
## ------------------------------------------------------------
## group: R
## vars n mean sd median trimmed mad min max range skew
## pre_50m 1 7 30.14 0.67 30.2 30.14 0.89 29.2 31.0 1.8 -0.09
## pre_100m 2 7 65.99 1.33 66.1 65.99 1.63 64.0 67.8 3.8 -0.10
## pre_200m 3 7 142.20 2.15 142.5 142.20 2.22 139.0 145.2 6.2 -0.11
## post_50m 4 7 29.97 0.53 29.8 29.97 0.44 29.5 30.8 1.3 0.38
## post_100m 5 7 65.64 1.16 65.2 65.64 1.04 64.5 67.5 3.0 0.42
## post_200m 6 7 141.54 1.72 141.0 141.54 2.22 139.5 144.0 4.5 0.16
## kurtosis se
## pre_50m -1.80 0.25
## pre_100m -1.60 0.50
## pre_200m -1.57 0.81
## post_50m -1.77 0.20
## post_100m -1.65 0.44
## post_200m -1.83 0.65
## ------------------------------------------------------------
## group: T
## vars n mean sd median trimmed mad min max range skew
## pre_50m 1 7 28.17 0.42 28.2 28.17 0.44 27.5 28.8 1.3 -0.08
## pre_100m 2 7 61.94 0.69 62.0 61.94 0.44 60.8 63.0 2.2 -0.15
## pre_200m 3 7 134.50 1.26 134.5 134.50 1.04 132.5 136.5 4.0 0.00
## post_50m 4 7 27.81 0.41 27.8 27.81 0.30 27.2 28.5 1.3 0.14
## post_100m 5 7 61.34 0.88 61.5 61.34 0.74 60.0 62.8 2.8 0.12
## post_200m 6 7 133.54 1.49 133.8 133.54 0.59 131.0 135.8 4.8 -0.24
## kurtosis se
## pre_50m -1.32 0.16
## pre_100m -1.07 0.26
## pre_200m -1.13 0.48
## post_50m -1.03 0.15
## post_100m -1.08 0.33
## post_200m -1.01 0.56
# Gráficos de caja para cambios post-pre
library(ggplot2)
library(gridExtra)
p1 <- ggplot(datos1, aes(x=tratamiento, y=post_50m-pre_50m, fill=tratamiento)) +
geom_boxplot() + labs(title="Cambio en 50m", y="Diferencia (post-pre)")
p2 <- ggplot(datos1, aes(x=tratamiento, y=post_100m-pre_100m, fill=tratamiento)) +
geom_boxplot() + labs(title="Cambio en 100m")
p3 <- ggplot(datos1, aes(x=tratamiento, y=post_200m-pre_200m, fill=tratamiento)) +
geom_boxplot() + labs(title="Cambio en 200m")
grid.arrange(p1, p2, p3, ncol=3)El entrenamiento técnico (T) es el más efectivo en general, mostrando mejoras consistentes y marcadas en las tres distancias (50m, 100m y 200m), especialmente en las pruebas cortas.
El entrenamiento de resistencia (R) también resulta beneficioso, principalmente en la prueba de 200m, aunque con mayor variabilidad en los resultados.
El entrenamiento de fuerza (F) no muestra beneficios claros, y en varios casos los nadadores empeoran su rendimiento, lo que sugiere que no es adecuado para mejorar los tiempos de competencia.
Se usara la prueba shapiro-wilk multivariado por grupo
# Dividir por grupos
trat_T <- datos1 %>% filter(tratamiento == "T") %>%
dplyr::select(post_50m, post_100m, post_200m)
trat_R <- datos1 %>% filter(tratamiento == "R") %>%
dplyr::select(post_50m, post_100m, post_200m)
trat_F <- datos1 %>% filter(tratamiento == "F") %>%
dplyr::select(post_50m, post_100m, post_200m)
# Test de Shapiro-Wilk multivariado
mshapiro.test(t(trat_T))##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.65709, p-value = 0.001238
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.79155, p-value = 0.03375
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.76762, p-value = 0.02947
Hipótesis: H0 (nula): Los datos del grupo siguen una distribución normal multivariada.
H1 (alternativa): Los datos del grupo no siguen una distribución normal multivariada
Conclusion:
Su usa el Test de Box’s M
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: datos1[, 5:7]
## Chi-Sq (approx.) = 16.254, df = 12, p-value = 0.1799
Hipótesis: H0 (nula): Las matrices de varianza-covarianza son iguales entre los grupos.
H1 (alternativa): Al menos una matriz de varianza-covarianza difiere entre los grupos.
Conclusion:
El valor de p es mayor que 0.05, por lo que no se rechaza la hipótesis nula. Por tanto, se cumple el supuesto de homogeneidad de matrices de varianza-covarianza necesario para aplicar MANCOVA.
Se usara el Test de esfericidad de bartlett
## $chisq
## [1] 132.5793
##
## $p.value
## [1] 1.503829e-28
##
## $df
## [1] 3
Hipótesis: H0 (nula): No hay correlación entre las variables dependientes.
H1 (alternativa): Existe correlación significativa entre las variables dependientes.
Conclusion:
Se realiazara un MANCOVA para evaluar si algun tipo de tratamiento tiene un efecto global significativo sobre las variables dependientes (post_50m, post_100m y post_200m), controlando las covariables pre_50m, pre_100m y pre_200m en un Diseño Completamente Aleatorizad
# Modelo MANCOVA
modelo <- manova(cbind(post_50m, post_100m, post_200m) ~
tratamiento + pre_50m + pre_100m + pre_200m,
data = datos1)
# Resumen del modelo
summary(modelo, test = "Pillai")## Df Pillai approx F num Df den Df Pr(>F)
## tratamiento 2 1.39440 9.978 6 26 9.768e-06 ***
## pre_50m 1 0.90440 37.840 3 12 2.145e-06 ***
## pre_100m 1 0.08030 0.349 3 12 0.7905
## pre_200m 1 0.05806 0.247 3 12 0.8622
## Residuals 14
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Wilks approx F num Df den Df Pr(>F)
## tratamiento 2 0.00844 39.543 6 24 2.753e-11 ***
## pre_50m 1 0.09560 37.840 3 12 2.145e-06 ***
## pre_100m 1 0.91970 0.349 3 12 0.7905
## pre_200m 1 0.94194 0.247 3 12 0.8622
## Residuals 14
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Hotelling-Lawley approx F num Df den Df Pr(>F)
## tratamiento 2 69.764 127.900 6 22 5.834e-16 ***
## pre_50m 1 9.460 37.840 3 12 2.145e-06 ***
## pre_100m 1 0.087 0.349 3 12 0.7905
## pre_200m 1 0.062 0.247 3 12 0.8622
## Residuals 14
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Roy approx F num Df den Df Pr(>F)
## tratamiento 2 69.073 299.314 3 13 3.048e-12 ***
## pre_50m 1 9.460 37.840 3 12 2.145e-06 ***
## pre_100m 1 0.087 0.349 3 12 0.7905
## pre_200m 1 0.062 0.247 3 12 0.8622
## Residuals 14
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Efecto tratamiento:
Efecto de la covariable pre_50m:
La covariable pre_50m (tiempo antes del entrenamiento en 50m) tiene un efecto altamente significativo en todas las variables dependientes. Esto quiere decir que el tiempo de los nadadores en 50m antes del entrenamiento es un covariable importante para su rendimiento posterior en las tres distancias evaluadas (50m, 100m y 200m).
Las covariables pre_100m y pre_200m no resultaron ser significativas en el análisis, ya que sus valores de p fueron altos (mayores que 0.05). Esto indica que estos tiempos previos no tienen una relación estadísticamente relevante con las variables dependientes en este caso.
Dado que el MANCOVA fue significativo, se procede con ANCOVAs univariados para identificar en qué variables dependientes el tipo de tratamiento causó diferencias, ajustando los resultados por pre_50m, la única covariable significativa. Las covariables pre_100m y pre_200m no fueron significativas, por lo que no se consideran en el análisis.
post_50m:
## Df Sum Sq Mean Sq F value Pr(>F)
## tratamiento 2 18.009 9.005 125.24 1.69e-10 ***
## pre_50m 1 3.866 3.866 53.77 1.68e-06 ***
## Residuals 16 1.150 0.072
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hipotesis:
H0 : Todos los tipos de entrenamiento tienen el mismo efecto sobre post_50m (no hay diferencias entre ellos).
H1 : Al menos uno tiene efecto distinto
Conclusion:
Se rechaza la hipótesis nula. El tipo de entrenamiento tiene un efecto significativo en los tiempos de post_50m, incluso al controlar el rendimiento previo (pre_50m), que también influye significativamente.
## Df Sum Sq Mean Sq F value Pr(>F)
## tratamiento 2 79.20 39.60 270.89 4.58e-13 ***
## pre_50m 1 14.47 14.47 98.99 2.95e-08 ***
## Residuals 16 2.34 0.15
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hipotesis:
H0 : Todos los tipos de entrenamiento (tratamiento) tienen el mismo efecto sobre post_100m (no hay diferencias entre ellos).
H1 : Al menos uno tiene efecto distinto
Conclusion: Se rechaza la hipótesis nula. Al menos un tratamiento genera diferencias significativas en los tiempos de 100 metros post-entrenamiento, controlando el tiempo previo (pre_50m).
## Df Sum Sq Mean Sq F value Pr(>F)
## tratamiento 2 285.41 142.71 494.5 4.13e-15 ***
## pre_50m 1 40.91 40.91 141.8 2.30e-09 ***
## Residuals 16 4.62 0.29
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hipotesis:
H0 : Todos los tipos de entrenamiento tienen el mismo efecto sobre post_200m (no hay diferencias entre ellos).
H1 : Al menos uno tiene efecto distinto
Conclusion: Se rechaza la hipótesis nula. El tipo de entrenamiento influye significativamente en los tiempos de 200 metros después del tratamiento, controlando el tiempo previo (pre_50m).
El tipo de entrenamiento tiene un impacto claro en los tiempos de carrera después del entrenamiento (en 50m, 100m y 200m), incluso cuando se considera el tiempo previo en 50 metros (pre_50m). Aunque el tiempo previo también influye en los resultados, el tipo de entrenamiento es el principal factor que marca la diferencia. Esto demuestra que tanto el tipo de entrenamiento como los tiempos iniciales son importantes para mejorar las velocidades en las carreras de natacion.
Evaluar el efecto de tres estrategias de enseñanza sobre la comprensión lectora (narrativa y argumentativa) la cual está evaluada del 0-20, controlando por dos covariables (pretest y número de libros leídos), y usando secciones como bloque (diseño en bloques completos al azar, DBCA).
## 'data.frame': 90 obs. of 6 variables:
## $ Metodo : chr "Lectura guiada" "Lectura guiada" "Lectura guiada" "Lectura guiada" ...
## $ Seccion : chr "Seccion_1" "Seccion_1" "Seccion_1" "Seccion_1" ...
## $ Pretest : int 12 16 13 17 18 10 14 17 14 14 ...
## $ Libros : int 5 6 6 6 6 6 6 6 7 6 ...
## $ Narrativo : num 12 11.5 8.6 12.4 11.5 9.5 10.7 10.3 11.5 9.8 ...
## $ Argumentativo: num 10.4 13.1 8.7 10.5 9.4 7.6 12.4 10.5 11.6 9.2 ...
## Metodo Seccion Pretest Libros Narrativo Argumentativo
## 1 Lectura guiada Seccion_1 12 5 12.0 10.4
## 2 Lectura guiada Seccion_1 16 6 11.5 13.1
## 3 Lectura guiada Seccion_1 13 6 8.6 8.7
## 4 Lectura guiada Seccion_1 17 6 12.4 10.5
## 5 Lectura guiada Seccion_1 18 6 11.5 9.4
## 6 Lectura guiada Seccion_1 10 6 9.5 7.6
# Dispersión entre variables dependientes
ggplot(datos2, aes(x = Narrativo, y = Argumentativo, color = Metodo)) +
geom_point(size = 3) +
geom_smooth(method = "lm", se = FALSE, color = "black") +
theme_minimal() +
labs(title = "Relación entre comprensión narrativa y argumentativa")## `geom_smooth()` using formula = 'y ~ x'
Este gráfico de dispersión muestra la relación entre los puntajes de comprensión narrativa (Narrativo) y argumentativa (Argumentativo), diferenciando los tres métodos de enseñanza mediante colores. La línea negra de tendencia, con una correlación de r = 0.72, revela una relación positiva fuerte: a mayor puntaje en una competencia, mayor en la otra. Los puntos correspondientes a Videos explicativos (azules) se concentran en la zona superior derecha, indicando que este método logra los puntajes más altos en ambas habilidades
# Boxplot por tipo de texto y método
datos2 %>%
pivot_longer(cols = c(Narrativo, Argumentativo),
names_to = "Tipo", values_to = "Puntaje") %>%
ggplot(aes(x = Metodo, y = Puntaje, fill = Metodo)) +
geom_boxplot() +
facet_wrap(~Tipo) +
theme_minimal() +
labs(title = "Distribución de competencias por método")Este gráfico de cajas compara la distribución de puntajes de Narrativo y Argumentativo según el método de enseñanza. En ambas competencias, los Videos explicativos destacan con medianas más altas (Narrativo ≈ 18, Argumentativo ≈ 17.5) y cajas compactas, reflejando resultados superiores y consistentes.
H₀ (Hipótesis nula): Las variables dependientes siguen una distribución normal multivariada dentro de cada grupo de tratamiento.
H₁ (Hipótesis alternativa): Al menos uno de los grupos no presenta normalidad multivariada en las variables dependientes.
trat1 <- datos2 %>% filter(Metodo == "Lectura guiada") %>% dplyr::select(Narrativo, Argumentativo)
trat2 <- datos2 %>% filter(Metodo == "Resumen y subrayado") %>% dplyr::select(Narrativo, Argumentativo)
trat3 <- datos2 %>% filter(Metodo == "Videos explicativos") %>%dplyr::select(Narrativo, Argumentativo)
cat("Lectura guiada:\n")## Lectura guiada:
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.95117, p-value = 0.1816
##
## Resumen y subrayado:
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.98062, p-value = 0.8418
##
## Videos explicativos:
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.94634, p-value = 0.1348
Interpretación:Dado que en los tres grupos el valor p es mayor que 0.05, no se rechaza la hipótesis nula de normalidad multivariada. Por tanto, se concluye que las variables dependientes presentan distribución normal multivariada dentro de cada grupo de tratamiento, cumpliéndose este supuesto para aplicar MANCOVA.
H₀: Las matrices de varianzas-covarianzas de las variables dependientes son iguales entre los grupos (métodos de enseñanza).
H₁: Al menos una matriz de varianzas-covarianzas difiere significativamente entre los grupos.
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: datos2[, c("Narrativo", "Argumentativo")]
## Chi-Sq (approx.) = 12.341, df = 6, p-value = 0.05479
Interpretación: El valor p es ligeramente mayor que 0.05, lo cual indica que no se rechaza la hipótesis nula de igualdad de matrices. Por tanto, se concluye que las matrices de varianzas-covarianzas pueden considerarse homogéneas entre los grupos, cumpliendo así este supuesto de MANCOVA.
H₀: Las variables dependientes (Narrativo y Argumentativo) no están correlacionadas (la matriz de correlación es identidad).
H₁: Las variables dependientes están significativamente correlacionadas (la matriz de correlación difiere de la identidad).
## $chisq
## [1] 206.4526
##
## $p.value
## [1] 8.16259e-47
##
## $df
## [1] 1
Interpretación: El valor p es mucho menor que 0.05, por lo que se rechaza la hipótesis nula de que las variables no están correlacionadas. Esto indica que existe una correlación significativa entre la comprensión de textos narrativos y argumentativos, lo cual justifica el uso de un análisis multivariado como MANCOVA.
modelo <- manova(cbind(Narrativo, Argumentativo) ~ Metodo + Seccion + Pretest + Libros, data = datos2)
# Resultados con distintos tests
summary(modelo, test = "Pillai")## Df Pillai approx F num Df den Df Pr(>F)
## Metodo 2 0.85874 30.8501 4 164 < 2.2e-16 ***
## Seccion 3 0.02758 0.3822 6 164 0.8896
## Pretest 1 0.35643 22.4302 2 81 1.771e-08 ***
## Libros 1 0.00723 0.2951 2 81 0.7453
## Residuals 82
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Wilks approx F num Df den Df Pr(>F)
## Metodo 2 0.14499 65.861 4 162 < 2.2e-16 ***
## Seccion 3 0.97243 0.380 6 162 0.8909
## Pretest 1 0.64357 22.430 2 81 1.771e-08 ***
## Libros 1 0.99277 0.295 2 81 0.7453
## Residuals 82
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Hotelling-Lawley approx F num Df den Df Pr(>F)
## Metodo 2 5.8712 117.425 4 160 < 2.2e-16 ***
## Seccion 3 0.0284 0.378 6 160 0.8922
## Pretest 1 0.5538 22.430 2 81 1.771e-08 ***
## Libros 1 0.0073 0.295 2 81 0.7453
## Residuals 82
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Df Roy approx F num Df den Df Pr(>F)
## Metodo 2 5.8669 240.541 2 82 < 2.2e-16 ***
## Seccion 3 0.0282 0.770 3 82 0.5139
## Pretest 1 0.5538 22.430 2 81 1.771e-08 ***
## Libros 1 0.0073 0.295 2 81 0.7453
## Residuals 82
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: Si alguno de los tests
(especialmente Pillai o Wilks) muestra un valor de p < 0.05 para
Metodo, se rechaza H₀ → hay diferencias significativas
entre métodos en al menos una variable dependiente, ajustando por
covariables y bloque.
Matrices <- summary(modelo)$SS
F <- Matrices$Metodo
Bloque <- Matrices$Seccion
X1 <- Matrices$Pretest
X2 <- Matrices$Libros
W <- Matrices$Residuals
T <- F + Bloque + X1 + X2 + W
eta2 <- 1 - det(Bloque + X1 + X2 + W) / det(T)
eta2## [1] 0.788769
Interpretación: El η² multivariado indica el porcentaje de varianza explicada por el tratamiento sobre el total (ajustado por covariables y bloque). Valores cercanos a 0.01 son pequeños, 0.06 medianos, y ≥0.14 grandes (según Cohen).
metodos <- unique(datos2$Metodo)
comb <- t(combn(metodos, 2))
for(i in 1:nrow(comb)) {
metodo1 <- comb[i, 1]
metodo2 <- comb[i, 2]
datos.par <- datos2 %>% filter(Metodo %in% c(metodo1, metodo2))
datos.par$Metodo <- factor(datos.par$Metodo)
modelo.pares <- manova(cbind(Narrativo, Argumentativo) ~ Metodo + Seccion + Pretest + Libros, data = datos.par)
cat("\n🔻 Comparación:", metodo1, "vs", metodo2, "\n")
print(summary(modelo.pares, test = "Pillai"))
}##
## 🔻 Comparación: Lectura guiada vs Resumen y subrayado
## Df Pillai approx F num Df den Df Pr(>F)
## Metodo 1 0.62290 43.774 2 53 5.970e-12 ***
## Seccion 2 0.03280 0.450 4 108 0.7721
## Pretest 1 0.33983 13.641 2 53 1.663e-05 ***
## Libros 1 0.01657 0.447 2 53 0.6422
## Residuals 54
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 🔻 Comparación: Lectura guiada vs Videos explicativos
## Df Pillai approx F num Df den Df Pr(>F)
## Metodo 1 0.89697 230.697 2 53 < 2.2e-16 ***
## Seccion 2 0.00207 0.028 4 108 0.9985
## Pretest 1 0.35195 14.392 2 53 1.018e-05 ***
## Libros 1 0.01437 0.386 2 53 0.6814
## Residuals 54
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## 🔻 Comparación: Resumen y subrayado vs Videos explicativos
## Df Pillai approx F num Df den Df Pr(>F)
## Metodo 1 0.77263 90.048 2 53 < 2.2e-16 ***
## Seccion 2 0.05503 0.764 4 108 0.5510
## Pretest 1 0.40893 18.334 2 53 8.881e-07 ***
## Libros 1 0.08728 2.534 2 53 0.0889 .
## Residuals 54
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación: En todas las comparaciones por pares, se observa un valor p < 0.05 para el efecto del método de enseñanza, lo que indica que existen diferencias estadísticamente significativas entre los métodos en cuanto a la comprensión lectora narrativa y argumentativa, incluso después de controlar por las covariables.
El análisis MANCOVA realizado bajo un diseño en bloques completos al azar muestra evidencia sólida de que el método de enseñanza influye significativamente en la comprensión lectora, tanto narrativa como argumentativa, incluso después de ajustar por la sección (bloque), el pretest de comprensión y el número de libros leídos. Los supuestos del modelo se cumplen adecuadamente: se observa normalidad multivariada en todos los grupos, homogeneidad marginal de las matrices de covarianza (p ≈ 0.05), y correlación significativa entre las variables dependientes.
Este análisis se basa en una base de datos simulada que contiene variables clínicas cuantitativas de 500 pacientes. El objetivo es explorar la estructura subyacente entre las variables, reducir la dimensionalidad mediante Análisis de Componentes Principales (ACP) y visualizar los patrones clínicos predominantes.
## # A tibble: 6 × 10
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos IMC
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 107 247 76 111 21.9
## 2 128 186 124 117 29.6
## 3 101 162 90 89 23
## 4 115 211 96 205 21.3
## 5 112 202 106 159 26.2
## 6 108 197 74 65 20.8
## # ℹ 5 more variables: Frecuencia_Cardiaca <dbl>, Edad <dbl>, Hemoglobina <dbl>,
## # Sodio_Serico <dbl>, Tipo_Paciente <chr>
## tibble [500 × 10] (S3: tbl_df/tbl/data.frame)
## $ Presion_Sistolica : num [1:500] 107 128 101 115 112 108 122 96 119 131 ...
## $ Colesterol_Total : num [1:500] 247 186 162 211 202 197 168 185 190 151 ...
## $ Glucosa : num [1:500] 76 124 90 96 106 74 76 70 116 131 ...
## $ Trigliceridos : num [1:500] 111 117 89 205 159 65 112 150 154 180 ...
## $ IMC : num [1:500] 21.9 29.6 23 21.3 26.2 20.8 19.9 24.7 19.4 31.9 ...
## $ Frecuencia_Cardiaca: num [1:500] 62 53 65 65 65 67 77 79 91 61 ...
## $ Edad : num [1:500] 35 60 42 44 40 64 45 44 41 78 ...
## $ Hemoglobina : num [1:500] 14.4 15.8 13.4 13.1 14.4 14.5 12.6 14.5 14.5 14.1 ...
## $ Sodio_Serico : num [1:500] 138 134 142 138 136 141 141 139 138 139 ...
## $ Tipo_Paciente : chr [1:500] "Adulto" "Adulto_Mayor" "Adulto" "Adulto" ...
attach(datos1)
# Verificando si hay datos perdidos
per.miss.col <- 100 * colSums(is.na(datos1)) / nrow(datos1)
per.miss.col## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## 0 0 0 0
## IMC Frecuencia_Cardiaca Edad Hemoglobina
## 0 0 0 0
## Sodio_Serico Tipo_Paciente
## 0 0
df <- datos1 %>%
count(Tipo_Paciente) %>%
mutate(porcentaje = round(n / sum(n) * 100, 1))
# Pie chart profesional con etiquetas
ggplot(df, aes(x = "", y = porcentaje, fill = Tipo_Paciente)) +
geom_bar(stat = "identity", color = "white") +
geom_text(aes(label = paste0(porcentaje, "%")),
position = position_stack(vjust = 0.5), color = "white", size = 6) +
coord_polar(theta = "y") +
labs(title = "Distribución por Tipo de Paciente") +
theme_minimal()El gráfico de matriz de dispersión muestra correlaciones entre todas las variables clínicas. Se observan asociaciones moderadas entre Glucosa, IMC y Triglicéridos (correlaciones mayores a 0.5). En contraste, variables como Colesterol_Total y Sodio_Serico presentan correlaciones cercanas a cero con la mayoría de las demás variables, lo que sugiere un bajo aporte a la estructura común de los datos.
ggplot(datos1, aes(x = Glucosa, y = IMC)) +
geom_point(aes(color = Tipo_Paciente), size = 4, alpha = 0.7) +
theme_minimal() +
labs(title = "Relación entre Glucosa e IMC",
x = "Glucosa (mg/dL)",
y = "Índice de Masa Corporal",
color = "Tipo de Paciente")El gráfico muestra una relación positiva clara entre los niveles de glucosa y el índice de masa corporal (IMC). A medida que aumenta la glucosa, también tiende a incrementarse el IMC. Esta asociación se observa tanto en adultos como en adultos mayores, aunque no hay una separación evidente entre los grupos.
ggplot(datos1, aes(x = Tipo_Paciente, y = Glucosa, fill = Tipo_Paciente)) +
geom_boxplot() +
scale_fill_viridis(discrete = TRUE, alpha = 0.6) +
geom_jitter(color = "darkgreen", size = 0.4, alpha = 0.9) +
theme_minimal() +
labs(title = "Distribución de Glucosa por Tipo de Paciente",
x = "Tipo de Paciente",
y = "Glucosa (mg/dL)") +
theme(legend.position = "none")El gráfico muestra que los adultos mayores tienden a tener niveles de glucosa más altos que los adultos. Esto se ve porque la “caja” del grupo Adulto Mayor está más arriba en el eje vertical. Además, la mediana (que representa el valor central o más común del grupo) también es más alta en los adultos mayores
ggplot(datos1, aes(x = Glucosa, colour = Tipo_Paciente)) +
geom_density(size = 1.2) +
labs(title = "Densidad de Glucosa por Tipo de Paciente",
x = "Glucosa (mg/dL)",
y = "Densidad",
colour = "Tipo de Paciente") +
theme_minimal()## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Este gráfico de densidad compara la distribución de los niveles de glucosa entre adultos y adultos mayores. Se observa que la curva de los adultos (rojo) está centrada en valores más bajos, mientras que la de los adultos mayores (celeste) se desplaza hacia la derecha, indicando que tienden a tener niveles de glucosa más altos.
## # A tibble: 6 × 9
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos IMC
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 107 247 76 111 21.9
## 2 128 186 124 117 29.6
## 3 101 162 90 89 23
## 4 115 211 96 205 21.3
## 5 112 202 106 159 26.2
## 6 108 197 74 65 20.8
## # ℹ 4 more variables: Frecuencia_Cardiaca <dbl>, Edad <dbl>, Hemoglobina <dbl>,
## # Sodio_Serico <dbl>
## tibble [500 × 9] (S3: tbl_df/tbl/data.frame)
## $ Presion_Sistolica : num [1:500] 107 128 101 115 112 108 122 96 119 131 ...
## $ Colesterol_Total : num [1:500] 247 186 162 211 202 197 168 185 190 151 ...
## $ Glucosa : num [1:500] 76 124 90 96 106 74 76 70 116 131 ...
## $ Trigliceridos : num [1:500] 111 117 89 205 159 65 112 150 154 180 ...
## $ IMC : num [1:500] 21.9 29.6 23 21.3 26.2 20.8 19.9 24.7 19.4 31.9 ...
## $ Frecuencia_Cardiaca: num [1:500] 62 53 65 65 65 67 77 79 91 61 ...
## $ Edad : num [1:500] 35 60 42 44 40 64 45 44 41 78 ...
## $ Hemoglobina : num [1:500] 14.4 15.8 13.4 13.1 14.4 14.5 12.6 14.5 14.5 14.1 ...
## $ Sodio_Serico : num [1:500] 138 134 142 138 136 141 141 139 138 139 ...
## Descriptive Statistics
## datosacp
## N: 500
##
## Colesterol_Total Edad Frecuencia_Cardiaca Glucosa Hemoglobina IMC
## ----------------- ------------------ -------- --------------------- --------- ------------- --------
## Mean 197.75 49.35 74.77 99.27 14.39 24.90
## Std.Dev 30.13 11.38 9.23 19.56 1.17 4.06
## Min 113.00 20.00 45.00 46.00 11.30 10.20
## Q1 176.00 41.00 69.00 85.00 13.50 22.25
## Median 198.00 49.00 75.00 100.00 14.30 24.80
## Q3 218.00 57.00 81.00 113.00 15.20 27.80
## Max 284.00 82.00 106.00 158.00 17.80 38.40
## MAD 31.13 11.86 8.90 20.76 1.19 4.30
## IQR 42.00 16.00 12.00 28.00 1.70 5.52
## CV 0.15 0.23 0.12 0.20 0.08 0.16
## Skewness -0.01 0.12 -0.02 -0.03 0.13 -0.09
## SE.Skewness 0.11 0.11 0.11 0.11 0.11 0.11
## Kurtosis -0.13 -0.38 -0.17 -0.17 -0.40 0.25
## N.Valid 500.00 500.00 500.00 500.00 500.00 500.00
## N 500.00 500.00 500.00 500.00 500.00 500.00
## Pct.Valid 100.00 100.00 100.00 100.00 100.00 100.00
##
## Table: Table continues below
##
##
##
## Presion_Sistolica Sodio_Serico Trigliceridos
## ----------------- ------------------- -------------- ---------------
## Mean 119.47 139.89 145.99
## Std.Dev 9.44 4.05 36.37
## Min 91.00 129.00 54.00
## Q1 113.00 137.00 120.00
## Median 120.00 140.00 147.00
## Q3 126.00 143.00 169.00
## Max 144.00 151.00 250.00
## MAD 8.90 4.45 35.58
## IQR 13.00 6.00 49.00
## CV 0.08 0.03 0.25
## Skewness -0.15 -0.03 0.04
## SE.Skewness 0.11 0.11 0.11
## Kurtosis -0.22 -0.32 -0.13
## N.Valid 500.00 500.00 500.00
## N 500.00 500.00 500.00
## Pct.Valid 100.00 100.00 100.00
Presión sistólica presenta valores bastante homogéneos, con una baja variabilidad relativa (CV = 0.08) y una distribución prácticamente simétrica. Sodio sérico es la variable más estable, con muy poca dispersión (CV = 0.03). En cambio, triglicéridos muestran una mayor variabilidad relativa (CV = 0.25) y un rango amplio, lo que indica una mayor heterogeneidad entre los pacientes.
X <- datos1$Glucosa
Xbar <- mean(X)
Sd <- sd(X)
# Cálculos
mean(((X - Xbar)/Sd)^3) # Asimetría ≈ -0.03## [1] -0.03381895
## [1] -0.167253
La asimetría es prácticamente nula (-0.03), lo que indica que la distribución de Glucosa es simétrica.
La curtosis es ligeramente negativa (-0.17), lo que sugiere una forma levemente más plana que una distribución normal.
## Error in match.call(f, call): ... used in a situation where it does not exist
## Warning in parse_call(mc = match.call(), var_name = (ncol(xx) == 1), var_label
## = (ncol(xx) == : metadata extraction terminated unexpectedly; inspect results
## carefully
## Error in match.call(f, call): ... used in a situation where it does not exist
## Warning in parse_call(mc = match.call(), var_name = (ncol(xx) == 1), var_label
## = (ncol(xx) == : metadata extraction terminated unexpectedly; inspect results
## carefully
## Descriptive Statistics
## datos1
## N: 405
##
## data
## ----------------- --------
## Mean 96.36
## Std.Dev 18.80
## Min 46.00
## Q1 83.00
## Median 97.00
## Q3 109.00
## Max 154.00
## MAD 19.27
## IQR 26.00
## CV 0.20
## Skewness -0.02
## SE.Skewness 0.12
## Kurtosis -0.14
## N.Valid 405.00
## N 405.00
## Pct.Valid 100.00
##
## N: 95
##
## data
## ----------------- --------
## Mean 111.71
## Std.Dev 17.88
## Min 59.00
## Q1 102.00
## Median 111.00
## Q3 126.00
## Max 158.00
## MAD 17.79
## IQR 23.00
## CV 0.16
## Skewness -0.20
## SE.Skewness 0.25
## Kurtosis 0.09
## N.Valid 95.00
## N 95.00
## Pct.Valid 100.00
Los pacientes adultos mayores presentan niveles de glucosa más altos en promedio (111.71 mg/dL) que los adultos (96.36 mg/dL), lo cual se observa también en la mediana y cuartiles. Además, la variabilidad relativa (coeficiente de variación) es menor en adultos mayores (CV = 0.16), lo que indica mayor homogeneidad en ese grupo.
# Matriz de Varianza-Covarianza
# Permite conocer la dispersión conjunta entre las variables
round(cov(datosacp), 2)## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## Presion_Sistolica 89.06 -16.21 94.70 172.30
## Colesterol_Total -16.21 908.09 1.53 27.51
## Glucosa 94.70 1.53 382.66 434.31
## Trigliceridos 172.30 27.51 434.31 1322.76
## IMC 13.86 1.70 49.75 87.15
## Frecuencia_Cardiaca -1.56 15.06 -8.05 -24.71
## Edad 53.41 -4.43 92.93 147.36
## Hemoglobina 3.28 0.35 12.55 20.80
## Sodio_Serico -2.63 4.33 -4.43 -1.71
## IMC Frecuencia_Cardiaca Edad Hemoglobina Sodio_Serico
## Presion_Sistolica 13.86 -1.56 53.41 3.28 -2.63
## Colesterol_Total 1.70 15.06 -4.43 0.35 4.33
## Glucosa 49.75 -8.05 92.93 12.55 -4.43
## Trigliceridos 87.15 -24.71 147.36 20.80 -1.71
## IMC 16.45 -2.47 12.50 2.40 -0.22
## Frecuencia_Cardiaca -2.47 85.18 -1.05 -0.40 -1.36
## Edad 12.50 -1.05 129.48 3.53 -1.78
## Hemoglobina 2.40 -0.40 3.53 1.36 0.01
## Sodio_Serico -0.22 -1.36 -1.78 0.01 16.41
# Ejemplo: calcular una correlación manualmente a partir de la covarianza
# Extraer varianzas desde la matriz, va
varglu <- 382.66 #glucosa
vartrig <- 1322.76 #trigilceridos
covglutrig <- 434.31
sdglu <- sqrt(varglu)
sdtrig <- sqrt(vartrig)
cor <- covglutrig / (sdglu * sdtrig)
cor ## [1] 0.6104538
Muestra la fuerza y dirección de la relación lineal entre variables.
+1: relación positiva fuerte
–1: relación negativa fuerte
0: sin relación lineal
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## Presion_Sistolica 1.000 -0.057 0.513 0.502
## Colesterol_Total -0.057 1.000 0.003 0.025
## Glucosa 0.513 0.003 1.000 0.610
## Trigliceridos 0.502 0.025 0.610 1.000
## IMC 0.362 0.014 0.627 0.591
## Frecuencia_Cardiaca -0.018 0.054 -0.045 -0.074
## Edad 0.497 -0.013 0.417 0.356
## Hemoglobina 0.297 0.010 0.549 0.490
## Sodio_Serico -0.069 0.036 -0.056 -0.012
## IMC Frecuencia_Cardiaca Edad Hemoglobina Sodio_Serico
## Presion_Sistolica 0.362 -0.018 0.497 0.297 -0.069
## Colesterol_Total 0.014 0.054 -0.013 0.010 0.036
## Glucosa 0.627 -0.045 0.417 0.549 -0.056
## Trigliceridos 0.591 -0.074 0.356 0.490 -0.012
## IMC 1.000 -0.066 0.271 0.507 -0.014
## Frecuencia_Cardiaca -0.066 1.000 -0.010 -0.037 -0.036
## Edad 0.271 -0.010 1.000 0.265 -0.039
## Hemoglobina 0.507 -0.037 0.265 1.000 0.002
## Sodio_Serico -0.014 -0.036 -0.039 0.002 1.000
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## 1 1 1 1
## IMC Frecuencia_Cardiaca Edad Hemoglobina
## 1 1 1 1
## Sodio_Serico
## 1
## [1] 9
Hipótesis nula (H₀):No existe correlación lineal entre las variables X , Y
Hipótesis alternativa(H₁): Existe una correlación lineal significativa entre las variables X y Y
## Call:corr.test(x = datosacp)
## Correlation matrix
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## Presion_Sistolica 1.00 -0.06 0.51 0.50
## Colesterol_Total -0.06 1.00 0.00 0.03
## Glucosa 0.51 0.00 1.00 0.61
## Trigliceridos 0.50 0.03 0.61 1.00
## IMC 0.36 0.01 0.63 0.59
## Frecuencia_Cardiaca -0.02 0.05 -0.04 -0.07
## Edad 0.50 -0.01 0.42 0.36
## Hemoglobina 0.30 0.01 0.55 0.49
## Sodio_Serico -0.07 0.04 -0.06 -0.01
## IMC Frecuencia_Cardiaca Edad Hemoglobina Sodio_Serico
## Presion_Sistolica 0.36 -0.02 0.50 0.30 -0.07
## Colesterol_Total 0.01 0.05 -0.01 0.01 0.04
## Glucosa 0.63 -0.04 0.42 0.55 -0.06
## Trigliceridos 0.59 -0.07 0.36 0.49 -0.01
## IMC 1.00 -0.07 0.27 0.51 -0.01
## Frecuencia_Cardiaca -0.07 1.00 -0.01 -0.04 -0.04
## Edad 0.27 -0.01 1.00 0.27 -0.04
## Hemoglobina 0.51 -0.04 0.27 1.00 0.00
## Sodio_Serico -0.01 -0.04 -0.04 0.00 1.00
## Sample Size
## [1] 500
## Probability values (Entries above the diagonal are adjusted for multiple tests.)
## Presion_Sistolica Colesterol_Total Glucosa Trigliceridos
## Presion_Sistolica 0.00 1.00 0.00 0.0
## Colesterol_Total 0.20 0.00 1.00 1.0
## Glucosa 0.00 0.95 0.00 0.0
## Trigliceridos 0.00 0.58 0.00 0.0
## IMC 0.00 0.76 0.00 0.0
## Frecuencia_Cardiaca 0.69 0.23 0.32 0.1
## Edad 0.00 0.77 0.00 0.0
## Hemoglobina 0.00 0.82 0.00 0.0
## Sodio_Serico 0.12 0.43 0.21 0.8
## IMC Frecuencia_Cardiaca Edad Hemoglobina Sodio_Serico
## Presion_Sistolica 0.00 1.00 0.00 0.00 1
## Colesterol_Total 1.00 1.00 1.00 1.00 1
## Glucosa 0.00 1.00 0.00 0.00 1
## Trigliceridos 0.00 1.00 0.00 0.00 1
## IMC 0.00 1.00 0.00 0.00 1
## Frecuencia_Cardiaca 0.14 0.00 1.00 1.00 1
## Edad 0.00 0.82 0.00 0.00 1
## Hemoglobina 0.00 0.40 0.00 0.00 1
## Sodio_Serico 0.76 0.42 0.39 0.97 0
##
## To see confidence intervals of the correlations, print with the short=FALSE option
En contraste, variables como Colesterol_Total, Frecuencia_Cardiaca y Sodio_Serico presentan valores p elevados, lo que indica falta de significancia estadística en la mayoría de sus relaciones con otras variables. Esto sugiere que no aportan información estructural relevante al análisis multivariado.
res1 <- cor.mtest(datosacp, conf.level = 0.95)
corrplot(cor(datosacp), p.mat = res1$p, sig.level = 0.05, method = "ellipse", type = "lower")Elipses inclinadas hacia la diagonal positiva indican correlaciones positivas.
Cuanto más alargada la elipse, más fuerte la relación.
Los símbolos “X” indican que la correlación no es estadísticamente significativa (p > 0.05).
Se observa que variables como Glucosa, IMC, Trigliceridos y Edad están moderadamente correlacionadas entre sí,lo cual es coherente con perfiles clínicos.
Variables como Colesterol_Total, Frecuencia_Cardiaca y Sodio_Serico muestran muchas correlaciones no significativas,lo que sugiere que tienen poco aporte estructural a la varianza común.
acp <- dudi.pca(datosacp,
scannf = FALSE,
scale = TRUE, # Tipifica las variables → usa matriz de correlación
nf = ncol(datosacp)) # Calcula todos los componentes posibles
acp$eig # Vector de autovalores## [1] 3.3256188 1.0746938 1.0524729 0.9279690 0.8806918 0.5620481 0.4622099
## [8] 0.3858832 0.3284125
## [1] 9
## [1] 0.6058889
Con solo 3 componentes principales, se logra resumir el 60.6% de la información total contenida en las 9 variables originales.
## Inertia information:
## Call: inertia.dudi(x = acp)
##
## Decomposition of total inertia:
## inertia cum cum(%)
## Ax1 3.3256 3.326 36.95
## Ax2 1.0747 4.400 48.89
## Ax3 1.0525 5.453 60.59
## Ax4 0.9280 6.381 70.90
## Ax5 0.8807 7.261 80.68
## Ax6 0.5620 7.823 86.93
## Ax7 0.4622 8.286 92.06
## Ax8 0.3859 8.672 96.35
## Ax9 0.3284 9.000 100.00
El primer componente (Ax1) explica un 36.95% de la varianza total.
## CS1 CS2 CS3 CS4
## Presion_Sistolica 0.385230952 0.27279536 0.010554376 0.24618886
## Colesterol_Total -0.003290962 -0.50255368 0.629221191 -0.32600230
## Glucosa 0.466655658 -0.02452235 0.024515024 -0.05297379
## Trigliceridos 0.445274903 -0.09667584 -0.004653717 -0.04857623
## IMC 0.422006783 -0.18109564 -0.015728093 -0.16750468
## Frecuencia_Cardiaca -0.045129637 0.23411890 0.753984877 0.40465513
## Edad 0.327945913 0.26985712 0.061217251 0.34471074
## Hemoglobina 0.383223331 -0.19688149 0.009498051 -0.13348160
## Sodio_Serico -0.031843188 -0.68108917 -0.175409016 0.70675402
## CS5 CS6 CS7 CS8
## Presion_Sistolica -0.320693966 -0.38718395 0.526703996 0.32031951
## Colesterol_Total -0.489139780 -0.01351014 0.051158060 0.05198443
## Glucosa 0.089336127 -0.02665477 -0.107451611 0.42146068
## Trigliceridos 0.049747238 -0.36273013 0.075604053 -0.79206429
## IMC 0.270020890 -0.21702153 -0.559960482 0.23283272
## Frecuencia_Cardiaca 0.454466254 -0.04744948 -0.029060244 -0.03573668
## Edad -0.502992617 0.49614897 -0.404465056 -0.17754762
## Hemoglobina 0.338972368 0.64833354 0.473970431 -0.01911712
## Sodio_Serico 0.009339591 -0.04210058 0.007983803 0.04817972
## CS9
## Presion_Sistolica 0.2892779570
## Colesterol_Total 0.0217345369
## Glucosa -0.7618120325
## Trigliceridos -0.1512381769
## IMC 0.5225256083
## Frecuencia_Cardiaca 0.0002266616
## Edad 0.0526787807
## Hemoglobina 0.1903100729
## Sodio_Serico -0.0242749666
CS1 representa un eje metabólico fuerte: glucosa, triglicéridos, IMC y presión.
CS2 agrupa sodio y colesterol frente a presión/edad
CS3 está claramente dominado por la frecuencia cardíaca.
## Comp1 Comp2 Comp3 Comp4
## Presion_Sistolica 0.70251792 0.28279996 0.010827746 0.23715656
## Colesterol_Total -0.00600149 -0.52098453 0.645518674 -0.31404175
## Glucosa 0.85100629 -0.02542169 0.025149989 -0.05103026
## Trigliceridos 0.81201575 -0.10022137 -0.004774253 -0.04679404
## IMC 0.76958335 -0.18773721 -0.016135467 -0.16135918
## Frecuencia_Cardiaca -0.08229967 0.24270507 0.773513870 0.38980893
## Edad 0.59805133 0.27975397 0.062802842 0.33206381
## Hemoglobina 0.69885677 -0.20410200 0.009744061 -0.12858436
## Sodio_Serico -0.05807013 -0.70606770 -0.179952292 0.68082426
## Comp5 Comp6 Comp7 Comp8
## Presion_Sistolica -0.300955835 -0.29027129 0.35808509 0.19898086
## Colesterol_Total -0.459034115 -0.01012853 0.03478033 0.03229246
## Glucosa 0.083837651 -0.01998304 -0.07305208 0.26180924
## Trigliceridos 0.046685386 -0.27193829 0.05140019 -0.49202633
## IMC 0.253401595 -0.16270075 -0.38069485 0.14463451
## Frecuencia_Cardiaca 0.426494681 -0.03557281 -0.01975690 -0.02219944
## Edad -0.472034334 0.37196222 -0.27497970 -0.11029168
## Hemoglobina 0.318109235 0.48605479 0.32223364 -0.01187546
## Sodio_Serico 0.008764756 -0.03156275 0.00542787 0.02992900
## Comp9
## Presion_Sistolica 0.1657773377
## Colesterol_Total 0.0124554726
## Glucosa -0.4365737779
## Trigliceridos -0.0866704902
## IMC 0.2994452295
## Frecuencia_Cardiaca 0.0001298936
## Edad 0.0301887780
## Hemoglobina 0.1090615322
## Sodio_Serico -0.0139113238
Comp1 es el componente más fuerte y representa alta correlación con glucosa, triglicéridos, IMC y presión arterial.
Comp2 agrupa sodio y colesterol,
Comp3 está claramente relacionado con la frecuencia cardíaca y colesterol.
a <- fviz_eig(acp, choice = 'eigenvalue', geom = "line",
linecolor = '#3A5FCD', xlab = 'Componentes Principales') +
geom_hline(yintercept = 1, color = '#EE6363') +
theme_grey()
aEl gráfico muestra los autovalores de cada componente principal.
Se observa que solo los primeros 3 componentes tienen autovalores > 1, lo cual, según el criterio de Kaiser, sugiere conservar 3 componentes para el análisis.
b <- fviz_screeplot(acp, ncp = 9, addlabels = TRUE, hjust = 0.5,
linecolor = "#FC4E07", barfill = "#00AFBB",
xlab = "Componentes Principales")
bLos tres primeros componentes explican juntos más del 60% de la varianza, lo que refuerza la decisión de conservar 3 componentes para análisis.
c <- fviz_pca_var(acp, col.var = "#FF3030") +
labs(x = "Dim2 (11.9%)", y = "Dim1 (37%)") +
theme_minimal()
cLas variables Glucosa, IMC y Triglicéridos están alineadas con Dim1
Frecuencia_Cardiaca y Sodio_Serico contribuyen más al segundo componente (Dim2),mientras que Colesterol_Total tiene poca representación en este plano.
Los puntos verdes representan a cada individuo proyectado en el plano Dim1–Dim2.
La mayor dispersión de los individuos ocurre a lo largo de Dim1, reforzando que este componente explica la mayor parte de la variabilidad total.
Se realizó un análisis exploratorio multivariado sobre variables clínicas cuantitativas. Las correlaciones mostraron relaciones moderadas entre variables clave como glucosa, triglicéridos, IMC y presión arterial, lo cual justifica la aplicación del Análisis de Componentes Principales (ACP).
El ACP reveló que los tres primeros componentes explican más del 60% de la varianza total. El primer componente representa un claro perfil metabólico, mientras que los siguientes capturan aspectos fisiológicos complementarios.
Las visualizaciones como scree plot, círculo de correlaciones y biplot facilitaron la interpretación de los patrones clínicos. En conjunto, el análisis permitió simplificar la estructura de los datos y destacar los factores más relevantes en la población estudiada.
Para un estudio psicológico se realiza una evaluación de factores relacionados con el estrés académico en estudiantes universitarios, para ello se tiene el registro de 100 estudiantes teniendo las siguientes variables:
Estudio: Número de horas que un estudiante dedica diariamente al estudio.
Sueño: Horas de sueño por noche durante el periodo académico.
Cansancio: Nivel percibido de fatiga física por estudiante, medido del 1-6.
Ansiedad: Grado de ansiedad relacionado con las actividades académicas.
Concentración: Capacidad para mantener la atención y concentración.
Rendimiento: Desempeño académico medido por calificaciones.
set.seed(101)
n <- 100 # Número de observaciones
# Factores latentes: estrés físico, mental y rendimiento
fisico <- rnorm(n)
mental <- rnorm(n)
rend <- rnorm(n)
# Generamos variables observadas
estudio <- 4 + 0.6*rend - 0.2*mental + rnorm(n, 0, 0.5)
sueno <- 7 - 0.6*mental - 0.3*fisico + rnorm(n, 0, 0.5)
Cansancio <- 5 + 0.7*fisico + rnorm(n, 0, 0.3)
Ansiedad <- 4 + 0.6*mental + rnorm(n, 0, 0.4)
Concentracion <- 6 - 0.5*mental + 0.5*rend + rnorm(n, 0, 0.3)
Rendimiento <- 12 + 0.6*rend - 0.4*mental + rnorm(n, 0, 0.5)
# Creamos el dataframe final
data <- data.frame(
estudio = round(estudio, 1),
sueno = round(sueno, 1),
Cansancio = round(Cansancio, 1),
Ansiedad = round(Ansiedad, 1),
Concentracion = round(Concentracion, 1),
Rendimiento = round(Rendimiento, 1)
)## # A tibble: 6 × 26
## described_variables n na mean sd se_mean IQR skewness kurtosis
## <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 estudio 100 0 4.00 0.753 0.0753 1 0.149 -0.112
## 2 sueno 100 0 6.93 0.831 0.0831 1.03 -0.112 0.626
## 3 Cansancio 100 0 4.99 0.743 0.0743 1.2 -0.179 -0.688
## 4 Ansiedad 100 0 3.93 0.692 0.0692 0.925 -0.0887 0.558
## 5 Concentracion 100 0 5.98 0.712 0.0712 0.925 0.149 -0.0980
## 6 Rendimiento 100 0 12.0 0.805 0.0805 1.12 -0.0466 -0.197
## # ℹ 17 more variables: p00 <dbl>, p01 <dbl>, p05 <dbl>, p10 <dbl>, p20 <dbl>,
## # p25 <dbl>, p30 <dbl>, p40 <dbl>, p50 <dbl>, p60 <dbl>, p70 <dbl>,
## # p75 <dbl>, p80 <dbl>, p90 <dbl>, p95 <dbl>, p99 <dbl>, p100 <dbl>
## estudio sueno Cansancio Ansiedad Concentracion
## 4.001 6.931 4.988 3.929 5.980
## Rendimiento
## 12.039
## estudio sueno Cansancio Ansiedad Concentracion Rendimiento
## estudio 1.000 0.031 -0.103 -0.071 0.522 0.471
## sueno 0.031 1.000 -0.370 -0.643 0.410 0.225
## Cansancio -0.103 -0.370 1.000 0.124 -0.019 0.114
## Ansiedad -0.071 -0.643 0.124 1.000 -0.562 -0.370
## Concentracion 0.522 0.410 -0.019 -0.562 1.000 0.733
## Rendimiento 0.471 0.225 0.114 -0.370 0.733 1.000
## estudio sueno Cansancio Ansiedad Concentracion Rendimiento
## estudio 1.653 0.284 0.345 -0.403 -0.959 -0.328
## sueno 0.284 2.071 0.657 1.047 -0.402 0.007
## Cansancio 0.345 0.657 1.302 0.089 -0.135 -0.327
## Ansiedad -0.403 1.047 0.089 2.208 1.007 0.023
## Concentracion -0.959 -0.402 -0.135 1.007 3.343 -1.520
## Rendimiento -0.328 0.007 -0.327 0.023 -1.520 2.313
## estudio sueno Cansancio Ansiedad Concentracion
## estudio 0.000000e+00 1.000000e+00 1.000000000 1.000000e+00 3.033194e-07
## sueno 7.587296e-01 0.000000e+00 0.001381471 7.295239e-12 2.328269e-04
## Cansancio 3.066134e-01 1.534968e-04 0.000000000 1.000000e+00 1.000000e+00
## Ansiedad 4.848506e-01 5.210885e-13 0.220584271 0.000000e+00 1.570101e-08
## Concentracion 2.527661e-08 2.328269e-05 0.854325244 1.207770e-09 0.000000e+00
## Rendimiento 7.646103e-07 2.470514e-02 0.257697852 1.536462e-04 4.176992e-18
## Rendimiento
## estudio 8.410713e-06
## sueno 1.729360e-01
## Cansancio 1.000000e+00
## Ansiedad 1.381471e-03
## Concentracion 6.265487e-17
## Rendimiento 0.000000e+00
Con un nivel de significación del 0.01.
Ho: |Rp|=1 Las variables no estan correlacionadas
## [1] 5.357662e-41
Conclusión: Como p < 0.01. Se rechaza H₀, las variables están correlacionadas, por lo cual si es adecuado aplicar análisis factorial.
## # Test of Sphericity
##
## Bartlett's test of sphericity suggests that there is sufficient significant correlation in the data for factor analysis (Chisq(15) = 232.31, p < .001).
Ho: Las 6 variables tienen distribución normal multivariada.
##
## Shapiro-Wilk normality test
##
## data: Z
## W = 0.9683, p-value = 0.01639
Conclusión: Como p > 0.01. Se acepta H₀, las seis variables vienen de una distribución normal multivariada.
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = data)
## Overall MSA = 0.65
## MSA for each item =
## estudio sueno Cansancio Ansiedad Concentracion
## 0.62 0.63 0.41 0.68 0.67
## Rendimiento
## 0.73
Interpretación: Debido a que el KMO es 0.65, los datos de pueden usar para el análisis factorial pero aún queda evaluar cada variable.
## estudio sueno Cansancio Ansiedad Concentracion
## 0.617 0.632 0.406 0.676 0.672
## Rendimiento
## 0.725
Interpretación: La mayoría de variables son altamente adecuadas para el análisis factorial, a excepción de la variable Cansancio 0.41 (Poco adecuado).
## # KMO Measure of Sampling Adequacy
##
## The Kaiser, Meyer, Olkin (KMO) overall measure of sampling adequacy suggests that data seems appropriate for factor analysis (KMO = 0.65). The individual KMO scores are: estudio (0.62), sueno (0.63), Cansancio (0.41*), Ansiedad (0.68), Concentracion (0.67), Rendimiento (0.73).
## Principal Components Analysis
## Call: principal(r = data, nfactors = 2, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PC1 PC2 h2 u2 com
## estudio 0.54 0.49 0.54 0.46 2.0
## sueno 0.65 -0.63 0.82 0.18 2.0
## Cansancio -0.19 0.64 0.44 0.56 1.2
## Ansiedad -0.74 0.38 0.69 0.31 1.5
## Concentracion 0.90 0.22 0.86 0.14 1.1
## Rendimiento 0.77 0.44 0.79 0.21 1.6
##
## PC1 PC2
## SS loadings 2.71 1.43
## Proportion Var 0.45 0.24
## Cumulative Var 0.45 0.69
## Proportion Explained 0.65 0.35
## Cumulative Proportion 0.65 1.00
##
## Mean item complexity = 1.6
## Test of the hypothesis that 2 components are sufficient.
##
## The root mean square of the residuals (RMSR) is 0.13
## with the empirical chi square 51.02 with prob < 2.2e-10
##
## Fit based upon off diagonal values = 0.89
## [1] 2.7055553 1.4307031 0.9752083 0.3784656 0.3053925 0.2046751
Se deben retener los 2 primeros factores porque sus autovalores son mayores que 1.
## [1] 0.4509259
Interpetación: El 45.09% de la varianza total es explicada por el factor 1.
## [1] 0.2384505
Interpetación: El 23.84% de la varianza total es explicada por el factor 2.
##
## Loadings:
## PC1 PC2
## estudio 0.542 0.492
## sueno 0.648 -0.631
## Cansancio -0.185 0.638
## Ansiedad -0.744 0.376
## Concentracion 0.900 0.225
## Rendimiento 0.771 0.438
##
## PC1 PC2
## SS loadings 2.706 1.431
## Proportion Var 0.451 0.238
## Cumulative Var 0.451 0.689
El factor 1 representa la Concentración, Rendimiento y Ansiedad.
El factor 2 representa el sueño y Cansancio.
## Principal Components Analysis
## Call: principal(r = data, nfactors = 2, rotate = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
## RC1 RC2 h2 u2 com
## estudio 0.73 0.10 0.54 0.46 1.0
## sueno 0.18 -0.89 0.82 0.18 1.1
## Cansancio 0.21 0.63 0.44 0.56 1.2
## Ansiedad -0.40 0.73 0.69 0.31 1.5
## Concentracion 0.87 -0.33 0.86 0.14 1.3
## Rendimiento 0.88 -0.08 0.79 0.21 1.0
##
## RC1 RC2
## SS loadings 2.29 1.84
## Proportion Var 0.38 0.31
## Cumulative Var 0.38 0.69
## Proportion Explained 0.55 0.45
## Cumulative Proportion 0.55 1.00
##
## Mean item complexity = 1.2
## Test of the hypothesis that 2 components are sufficient.
##
## The root mean square of the residuals (RMSR) is 0.13
## with the empirical chi square 51.02 with prob < 2.2e-10
##
## Fit based upon off diagonal values = 0.89
La rotación varimax permitió identificar asociaciones más claras entre factores y variables específicas.
## [1] 0.6893764
Los dos primeros factores explican 68.94% de la varianza total
##
## Loadings:
## RC1 RC2
## estudio 0.725
## sueno 0.175 -0.887
## Cansancio 0.210 0.630
## Ansiedad -0.399 0.732
## Concentracion 0.868 -0.326
## Rendimiento 0.883
##
## RC1 RC2
## SS loadings 2.294 1.842
## Proportion Var 0.382 0.307
## Cumulative Var 0.382 0.689
El factor 1 representa el Rendimiento, Concentración y estudio.
El factor 2 representa el sueño y Ansiedad.
La empresa Industrias TecnoManufac S.A. cuenta con una planta de producción donde operan trabajadores en distintos turnos (día y noche). Con el objetivo de mejorar la eficiencia operativa y el bienestar del personal, la dirección de recursos humanos desea analizar los factores que podrían estar relacionados con el desempeño laboral de los empleados.
Se ha recopilado información de 130 trabajadores sobre diversas
características laborales y personales, tales como:
- turno: Turno del trabajador (Día o Noche)
- años_experiencia: Años de experiencia laboral
- piezas_producidas: Número de piezas producidas en el
mes
- capacitacion: Si ha recibido capacitación reciente
(Si o No)
- seguimiento_salud: Si esta bajo seguimiento médico
laboral (Si o No)
- evaluacion_rendimiento: Evaluación del desempeño
(Alto, Medio, Bajo)
| turno | años_experiencia | piezas_producidas | capacitacion | seguimiento_salud | evaluacion_rendimiento |
|---|---|---|---|---|---|
| Día | 29 | 436 | Sí | Sí | Alto |
| Noche | 15 | 413 | No | Sí | Medio |
| Día | 1 | 396 | Sí | Sí | Alto |
| Día | 25 | 339 | Sí | Sí | Alto |
| Día | 7 | 444 | No | Sí | Medio |
| Noche | 9 | 396 | No | Sí | Medio |
| ID | Name | Label | missings | Values | Value Labels | Freq. | % |
|---|---|---|---|---|---|---|---|
| 1 | turno | 0 (0.00%) |
Día Noche |
54 76 |
41.54 58.46 |
||
| 2 | años_experiencia | 0 (0.00%) | range: 1-40 | ||||
| 3 | piezas_producidas | 0 (0.00%) | range: 251-498 | ||||
| 4 | capacitacion | 0 (0.00%) |
No Sí |
50 80 |
38.46 61.54 |
||
| 5 | seguimiento_salud | 0 (0.00%) |
No Sí |
26 104 |
20.00 80.00 |
||
| 6 | evaluacion_rendimiento | 0 (0.00%) |
Alto Bajo Medio |
37 22 71 |
28.46 16.92 54.62 |
||
##
## Call:
## lm(formula = piezas_producidas ~ años_experiencia, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -133.726 -51.822 7.244 44.224 136.070
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 399.924 11.328 35.304 <2e-16 ***
## años_experiencia -1.085 0.473 -2.295 0.0234 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 66.65 on 128 degrees of freedom
## Multiple R-squared: 0.03953, Adjusted R-squared: 0.03202
## F-statistic: 5.268 on 1 and 128 DF, p-value: 0.02335
A un nivel de siginificación del 1% podemos afirmar que si existe una relación significativa entre los años de experiencia y las piezas producidas.
Ho:Los residuos del modelo siguen una distribución normal.
Ha:Los residuos del modelo no siguen una distribución normal.
## Warning: Non-normality of residuals detected (p = 0.015).
## For confidence bands, please install `qqplotr`.
A un nivel de significancia del 1% podemos afirmar que los residuos del modelo se distribuyen normalmente
Ho:La varianza de los residuos es constante a lo largo de los valores
predichos
Ha:La varianza de los residuos no es constante (hay
heterocedasticidad).
## OK: Error variance appears to be homoscedastic (p = 0.977).
A un nivel de significancia del 1% podemos afirmar que la varianza de los residuos es constante a lo largo de los valores predichos
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues and inertia"
## 2 "$var" "Results for the variables"
## 3 "$ind" "results for the individuals"
## 4 "$quali.var" "Results for the qualitative variables"
## 5 "$quanti.var" "Results for the quantitative variables"
Sobre las dimensiones:
Dim 1 : Explica el 18.94% de la variabilidad total de
los datos.
Dim 2 : Explica el 17.17% de la variabilidad total.
Sobre las variables:
años_experiencia: apunta hacia la derecha, alineada
casi completamente con Dim 1. Esto significa que esta variable está
fuertemente asociada con la primera dimensión y es una de las
principales responsables de la variabilidad explicada por Dim 1.
piezas_producidas: apunta hacia la izquierda y ligeramente hacia arriba, más alineada con Dim 2 pero en dirección opuesta a años_experiencia. Esto indica que piezas_producidas está asociada negativamente con Dim 1 y positivamente con Dim 2.
años_experiencia:
evaluacion_rendimiento:
seguimiento_salud:
piezas_producidas:
turno y capacitacion:
Se encuentran más cerca del origen, especialmente capacitación.
Interpretación: Estas variables tienen una menor contribución a las dos primeras dimensiones, es decir, no son las principales responsables de la variabilidad explicada por Dim1 y Dim2.
eigenvalues <- famd_pre_result %>% get_eigenvalue()
famd_pre_result %>% fviz_screeplot(addlabels = TRUE, ylim = c(0, 30),
barfill="white", barcolor ="darkblue",
linecolor ="red")## eigenvalue percentage of variance cumulative percentage of variance
## comp 1 1.3258887 18.94127 18.94127
## comp 2 1.2017172 17.16739 36.10866
## comp 3 1.1212783 16.01826 52.12692
## comp 4 1.0307333 14.72476 66.85168
## comp 5 0.8933779 12.76254 79.61422
## comp 6 0.7714901 11.02129 90.63551
Según el criterio de Kaiser (eigenvalue ≥ 1), deberíamos conservar las primeras 4 dimensiones, porque sus valores propios son mayores o iguales a 1.
Estas 4 dimensiones explican aproximadamente el 66.85% de la varianza total, lo cual es bastante bueno para resumir la información original.
Las dimensiones 5 y 6 tienen valores propios menores a 1, por lo que se consideran menos informativas y podrían no aportar mucho valor.
## Dim.1 Dim.2 Dim.3 Dim.4
## años_experiencia 0.44178755 0.02041871 0.23242570 0.0004422077
## piezas_producidas 0.20794399 0.13931084 0.02332457 0.4093461033
## turno 0.07268216 0.24882483 0.08430762 0.1539994105
## capacitacion 0.03055664 0.13155745 0.51661244 0.0000312706
## seguimiento_salud 0.29585649 0.17099590 0.01668285 0.2793890134
## evaluacion_rendimiento 0.27706186 0.49060948 0.24792514 0.1875252699
## Dim.5 Dim.6
## años_experiencia 0.046223104 0.0187655490
## piezas_producidas 0.064839233 0.0004123863
## turno 0.325690769 0.1120567109
## capacitacion 0.056786106 0.2628679057
## seguimiento_salud 0.001175465 0.0547443421
## evaluacion_rendimiento 0.398663266 0.3226431780
años_experiencia tiene un valor alto en Dim.1 (0.44), lo que indica que esta variable está muy ligada a la primera dimensión.
capacitacion tiene un valor alto en Dim.3 (0.52), indicando que esta variable contribuye mucho a la tercera dimensión.
## Dim.1 Dim.2 Dim.3 Dim.4
## años_experiencia 0.195176242 0.0004169239 0.0540217041 1.955477e-07
## piezas_producidas 0.043240703 0.0194075105 0.0005440356 1.675642e-01
## turno 0.005282696 0.0619137971 0.0071077740 2.371582e-02
## capacitacion 0.000933708 0.0173073621 0.2668884148 9.778504e-10
## seguimiento_salud 0.087531061 0.0292395971 0.0002783174 7.805822e-02
## evaluacion_rendimiento 0.038381638 0.1203488291 0.0307334363 1.758286e-02
## Dim.5 Dim.6
## años_experiencia 2.136575e-03 3.521458e-04
## piezas_producidas 4.204126e-03 1.700624e-07
## turno 1.060745e-01 1.255671e-02
## capacitacion 3.224662e-03 6.909954e-02
## seguimiento_salud 1.381719e-06 2.996943e-03
## evaluacion_rendimiento 7.946620e-02 5.204931e-02
capacitacion tiene un cos2 alto en Dim.3 (~0.27), lo que confirma que está bien representada en esa dimensión.
años_experiencia tiene un cos2 alto en Dim.1 (~0.20), lo que indica buena representación en esa dimensión.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## años_experiencia 33.320109 1.699128 20.728636 0.042902247 5.1739697
## piezas_producidas 15.683367 11.592648 2.080177 39.714066969 7.2577607
## turno 5.481769 20.705773 7.518884 14.940762485 36.4561014
## capacitacion 2.304616 10.947455 46.073525 0.003033821 6.3563363
## seguimiento_salud 22.313825 14.229296 1.487842 27.105849791 0.1315754
## evaluacion_rendimiento 20.896314 40.825701 22.110937 18.193384687 44.6242566
## Dim.6
## años_experiencia 2.43237726
## piezas_producidas 0.05345322
## turno 14.52471198
## capacitacion 34.07275288
## seguimiento_salud 7.09592308
## evaluacion_rendimiento 41.82078159
En Dim.1, años_experiencia contribuye con ~33%, seguimiento_salud con ~22% y evaluacion_rendimiento con ~20%, siendo las variables más importantes para esa dimensión.
En Dim.3, capacitacion aporta casi el 46%, siendo claramente la variable más relevante para esa dimensión.
En Dim.5 y Dim.6, evaluacion_rendimiento y turno tienen contribuciones muy altas, indicando que esas dimensiones están muy relacionadas con esas variables.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## años_experiencia 0.6646710 -0.1428941 0.4821055 -0.02102874 0.2149956
## piezas_producidas -0.4560088 0.3732437 -0.1527238 0.63980161 0.2546355
## Dim.6
## años_experiencia 0.1369874
## piezas_producidas -0.0203073
famd_pre_result %>%
fviz_famd_var(choice = "quanti.var", col.var = "coord",
gradient.cols = c("red","yellow","green"))Dimensión 1 está principalmente asociada con años_experiencia (positiva) y en sentido contrario con piezas_producidas (negativa).
Dimensión 4 está fuertemente relacionada con piezas_producidas.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## años_experiencia 0.4417876 0.02041871 0.23242570 0.0004422077 0.04622310
## piezas_producidas 0.2079440 0.13931084 0.02332457 0.4093461033 0.06483923
## Dim.6
## años_experiencia 0.0187655490
## piezas_producidas 0.0004123863
famd_pre_result %>%
fviz_famd_var(choice = "quanti.var", col.var = "cos2",
gradient.cols = c("red","yellow","green"))años_experiencia está bien representada principalmente en Dim.1 y en menor medida en Dim.3.
piezas_producidas está bien representada principalmente en Dim.4, y tiene representación moderada en Dim.1 y Dim.2.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## años_experiencia 33.32011 1.699128 20.728636 0.04290225 5.173970 2.43237726
## piezas_producidas 15.68337 11.592648 2.080177 39.71406697 7.257761 0.05345322
famd_pre_result %>%
fviz_famd_var(choice = "quanti.var", col.var = "contrib",
gradient.cols = c("red","yellow","green"))Dimensión 1 está dominada por años_experiencia, que es la variable más importante para esta dimensión.
Dimensión 2 está dominada por piezas_producidas, siendo la variable principal que explica esta dimensión.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día -0.3682793 -0.6487209 0.36475397 0.472653191 -0.63992673 0.34881409
## Noche 0.2616722 0.4609333 -0.25916730 -0.335832530 0.45468479 -0.24784159
## No -0.2546046 0.5029431 0.96271809 0.007181270 -0.28490407 -0.56963143
## Sí 0.1591279 -0.3143394 -0.60169881 -0.004488294 0.17806504 0.35601964
## No 1.2526337 0.9066173 0.27354059 1.073267074 0.06481157 0.41102173
## Sí -0.3131584 -0.2266543 -0.06838515 -0.268316768 -0.01620289 -0.10275543
## Alto 0.5617759 -1.0436611 -0.33781232 0.696343732 0.12768167 -0.76878380
## Bajo 0.8209095 1.2547247 -0.88994377 -0.318087132 -1.30676394 0.05657088
## Medio -0.5471227 0.1550918 0.45180026 -0.264321144 0.33837443 0.38310481
Las coordenadas muestran cómo cada categoría cualitativa se asocia con las seis dimensiones del análisis. Categorías opuestas, como “Día” y “Noche” o “Alto” y “Bajo”, tienen signos contrarios en varias dimensiones, indicando que estas dimensiones distinguen claramente entre esos grupos. Cada dimensión refleja contrastes específicos entre categorías, ayudando a identificar patrones clave en los datos cualitativos.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día 0.09377426 0.29096769 0.09198754 1.544593e-01 0.2831323161 0.0841234312
## Noche 0.09377426 0.29096769 0.09198754 1.544593e-01 0.2831323161 0.0841234312
## No 0.03924015 0.15312137 0.56104329 3.121768e-05 0.0491355033 0.1964201320
## Sí 0.03924015 0.15312137 0.56104329 3.121768e-05 0.0491355033 0.1964201320
## No 0.36782066 0.19267969 0.01754008 2.700248e-01 0.0009846752 0.0396020382
## Sí 0.36782066 0.19267969 0.01754008 2.700248e-01 0.0009846752 0.0396020382
## Alto 0.12048302 0.41583275 0.04356630 1.851173e-01 0.0062238169 0.2256358600
## Bajo 0.13225955 0.30898216 0.15543960 1.985769e-02 0.3351435124 0.0006280907
## Medio 0.34416099 0.02765476 0.23468485 8.032596e-02 0.1316397912 0.1687435949
Los valores de cos2 indican la calidad de representación de cada categoría en las dimensiones. Categorías como “Medio” y “No” están bien representadas en Dim.1 y Dim.3, mientras que “Alto” destaca en Dim.2 y Dim.6. Valores altos de cos2 muestran que esas dimensiones explican bien la variabilidad de esas categorías, ayudando a identificar en qué dimensiones se representan mejor los grupos cualitativos.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día 3.2047267 12.1049132 4.3956553 8.734599606 21.31279772 8.49137008
## Noche 2.2770426 8.6008594 3.1232287 6.206162878 15.14330364 6.03334190
## No 1.4182249 6.7368952 28.3529385 0.001866967 3.91159155 20.96784792
## Sí 0.8863906 4.2105595 17.7205866 0.001166854 2.44474472 13.10490495
## No 17.8510603 11.3834367 1.1902734 21.684679833 0.10526030 5.67673847
## Sí 4.4627651 2.8458592 0.2975683 5.421169958 0.02631507 1.41918462
## Alto 5.1094059 21.4670727 2.5833455 12.990118723 0.58135987 28.26221091
## Bajo 6.4871764 18.4489493 10.6605012 1.611680442 36.20788539 0.09099227
## Medio 9.2997315 0.9096791 8.8670899 3.591585523 7.83501136 13.46757840
Las contribuciones indican qué porcentaje aporta cada categoría a la construcción de cada dimensión. Por ejemplo, “Bajo” y “Medio” contribuyen fuertemente a Dim.5, mientras que “Alto” destaca en Dim.2 y Dim.6. Las categorías “No” y “Sí” tienen mayor aporte en Dim.3 y Dim.6. Esto muestra qué categorías son clave para definir cada dimensión y ayudan a interpretar el significado de los ejes factoriales.
3#### 5.8.3.4 Estadístico v.test 📈
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día -3.062025 -5.665545 3.297830 4.45712059 -6.4818292 3.8020147
## Noche 3.062025 5.665545 -3.297830 -4.45712059 6.4818292 -3.8020147
## No -1.985398 4.119577 8.163517 0.06351305 -2.7065490 -5.8232259
## Sí 1.985398 -4.119577 -8.163517 -0.06351305 2.7065490 5.8232259
## No 6.177822 4.696645 1.466999 6.00343091 0.3894034 2.6574462
## Sí -6.177822 -4.696645 -1.466999 -6.00343091 -0.3894034 -2.6574462
## Alto 3.495134 -6.820443 -2.285457 4.91365619 0.9677545 -6.2703718
## Bajo 3.654568 5.867345 -4.308243 -1.60608035 -7.0871863 0.3301582
## Medio -5.920103 1.762730 5.316035 -3.24382025 4.4604426 5.4343856
Los valores v.test indican la significancia de la asociación de cada categoría con las dimensiones. Valores absolutos mayores a 1.96 señalan una asociación significativa. Por ejemplo, “Día” y “Noche” están significativamente opuestos en Dim.1, Dim.2 y Dim.5, mientras que “No” y “Sí” destacan en Dim.3 y Dim.6. Esto muestra qué categorías influyen fuertemente en la formación de cada dimensión y ayudan a interpretar su significado.
El individuo 1 tiene una alta puntuación positiva en Dim.4 y una fuerte negativa en Dim.2, mientras que el individuo 5 destaca negativamente en Dim.1 y positivamente en Dim.3. Estas diferencias reflejan cómo cada individuo se diferencia según los patrones latentes capturados por las dimensiones.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día 0.09377426 0.29096769 0.09198754 1.544593e-01 0.2831323161 0.0841234312
## Noche 0.09377426 0.29096769 0.09198754 1.544593e-01 0.2831323161 0.0841234312
## No 0.03924015 0.15312137 0.56104329 3.121768e-05 0.0491355033 0.1964201320
## Sí 0.03924015 0.15312137 0.56104329 3.121768e-05 0.0491355033 0.1964201320
## No 0.36782066 0.19267969 0.01754008 2.700248e-01 0.0009846752 0.0396020382
## Sí 0.36782066 0.19267969 0.01754008 2.700248e-01 0.0009846752 0.0396020382
## Alto 0.12048302 0.41583275 0.04356630 1.851173e-01 0.0062238169 0.2256358600
## Bajo 0.13225955 0.30898216 0.15543960 1.985769e-02 0.3351435124 0.0006280907
## Medio 0.34416099 0.02765476 0.23468485 8.032596e-02 0.1316397912 0.1687435949
El individuo 4 está muy bien representado en Dim.2 (0.84), mientras que el individuo 5 destaca en Dim.1 (0.73). En cambio, valores bajos indican poca explicación por esa dimensión.
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## Día 3.2047267 12.1049132 4.3956553 8.734599606 21.31279772 8.49137008
## Noche 2.2770426 8.6008594 3.1232287 6.206162878 15.14330364 6.03334190
## No 1.4182249 6.7368952 28.3529385 0.001866967 3.91159155 20.96784792
## Sí 0.8863906 4.2105595 17.7205866 0.001166854 2.44474472 13.10490495
## No 17.8510603 11.3834367 1.1902734 21.684679833 0.10526030 5.67673847
## Sí 4.4627651 2.8458592 0.2975683 5.421169958 0.02631507 1.41918462
## Alto 5.1094059 21.4670727 2.5833455 12.990118723 0.58135987 28.26221091
## Bajo 6.4871764 18.4489493 10.6605012 1.611680442 36.20788539 0.09099227
## Medio 9.2997315 0.9096791 8.8670899 3.591585523 7.83501136 13.46757840
El individuo 4 contribuye mucho a Dim.2 (2.83), y el individuo 10 tiene una alta contribución en Dim.4 (1.96). Esto ayuda a identificar qué individuos son clave para cada dimensión del análisis.