UNIVERSIDAD DE CIENCIAS APLICADAS Y AMBIENTALES - U.D.C.A
TALLER INFORME DE DATOS VALIDACIÓN DE PROCESOS DOS
Laura Camila Flórez Riaño, Eliana Milena Montenegro Méndez, Johnny
Alexander López Salazar, Jose Jose Torralvo Martínez y William Hernando
Cortes Cardozo
2026-07-05
Las librerías son conjuntos de funciones desarrolladas para realizar tareas específicas. En este caso:
readxl: importa archivos de Excel.
ggplot2: genera gráficos estadísticos.
dplyr: manipula y organiza bases de datos.
tidyr: reorganiza los datos para facilitar su análisis.
outliers: realiza pruebas para detectar datos atípicos.
car: contiene funciones para análisis estadísticos, como la prueba de Levene para evaluar la homogeneidad de varianzas.
library(knitr)
## Warning: package 'knitr' was built under R version 4.5.3
datos <- read_excel("C:/Users/User/Downloads/Clase 2 R.xlsx")
kable(
datos,
row.names = TRUE,
align = "c",
caption = "Tabla 1. Datos utilizados para el análisis"
)
| Metodo1 | Metodo2 | Metodo3 | Metodo4 | Metodo5 | Metodo6 | |
|---|---|---|---|---|---|---|
| 1 | 129.5 | 108.7 | 126.9 | 98.4 | 112.4 | 124.6 |
| 2 | 126.6 | 127.6 | 75.3 | 82.7 | 74.4 | 120.5 |
| 3 | 112.7 | 81.3 | 109.0 | 122.2 | 79.9 | 103.1 |
| 4 | 71.5 | 94.5 | 95.7 | 101.7 | 128.0 | 122.8 |
| 5 | 121.4 | 70.8 | 83.8 | 80.9 | 95.7 | 92.3 |
| 6 | 124.6 | 103.8 | 104.5 | 74.1 | 121.4 | 100.2 |
| 7 | 119.7 | 102.7 | 117.3 | 98.5 | 113.7 | 102.6 |
| 8 | 72.5 | 108.7 | 101.4 | 106.7 | 90.2 | 73.7 |
| 9 | 104.5 | 83.0 | 74.3 | 92.6 | 129.5 | 103.6 |
| 10 | 109.2 | 81.0 | 75.1 | 95.1 | 125.1 | 93.2 |
| 11 | 117.0 | 122.0 | 118.4 | 85.3 | 118.4 | 96.4 |
| 12 | 83.9 | 118.6 | 100.0 | 97.0 | 94.1 | 103.0 |
| 13 | 84.2 | 127.3 | 73.0 | 104.0 | 105.2 | 92.5 |
| 14 | 127.1 | 114.3 | 117.8 | 73.1 | 70.5 | 124.3 |
| 15 | 114.8 | 120.8 | 97.3 | 101.8 | 76.3 | 112.8 |
| 16 | 74.1 | 90.9 | 126.5 | 121.4 | 92.2 | 96.5 |
| 17 | 96.9 | 125.7 | 95.7 | 74.2 | 80.4 | 100.9 |
| 18 | 101.6 | 83.4 | 121.0 | 96.2 | 129.7 | 104.2 |
| 19 | 89.8 | 90.6 | 88.3 | 122.7 | 73.1 | 129.6 |
| 20 | 71.2 | 71.4 | 101.9 | 88.1 | 104.0 | 114.7 |
| 21 | 78.5 | 101.7 | 83.4 | 94.6 | 118.6 | 70.4 |
| 22 | 83.4 | 80.3 | 88.2 | 74.5 | 99.9 | 105.1 |
| 23 | 100.5 | 127.2 | 82.2 | 116.9 | 124.2 | 121.0 |
| 24 | 93.6 | 117.5 | 105.2 | 112.5 | 78.4 | 87.7 |
| 25 | 118.4 | 106.7 | 78.3 | 74.1 | 92.1 | 75.9 |
| 26 | 113.7 | 75.2 | 113.3 | 71.2 | 88.2 | 126.7 |
| 27 | 84.3 | 77.0 | 115.6 | 93.2 | 96.0 | 127.3 |
| 28 | 106.7 | 121.0 | 111.2 | 126.4 | 125.3 | 99.2 |
| 29 | 121.8 | 90.1 | 118.4 | 104.5 | 123.4 | 121.2 |
| 30 | 115.8 | 111.4 | 80.4 | 93.1 | 103.0 | 106.8 |
| 31 | 119.6 | 119.6 | 91.9 | 70.1 | 98.5 | 106.8 |
| 32 | 86.9 | 124.2 | 104.3 | 125.5 | 78.1 | 87.7 |
| 33 | 92.3 | 101.5 | 86.8 | 77.3 | 72.9 | 128.5 |
| 34 | 78.6 | 108.6 | 107.3 | 118.9 | 129.0 | 74.0 |
| 35 | 98.9 | 72.2 | 111.9 | 123.0 | 112.3 | 108.1 |
| 36 | 94.2 | 90.5 | 126.0 | 95.1 | 104.0 | 124.8 |
| 37 | 105.8 | 90.6 | 90.9 | 75.4 | 106.8 | 86.9 |
| 38 | 71.7 | 72.1 | 103.0 | 77.0 | 111.9 | 86.2 |
| 39 | 89.7 | 129.5 | 83.1 | 95.4 | 108.0 | 111.5 |
| 40 | 82.6 | 104.5 | 80.1 | 127.8 | 104.6 | 81.5 |
| 41 | 86.6 | 98.9 | 78.3 | 115.1 | 129.0 | 108.4 |
| 42 | 80.7 | 106.7 | 76.8 | 127.3 | 120.7 | 100.3 |
| 43 | 91.7 | 95.5 | 119.4 | 96.7 | 125.1 | 101.7 |
| 44 | 117.7 | 91.4 | 125.2 | 117.4 | 128.4 | 94.1 |
| 45 | 116.1 | 81.0 | 88.2 | 86.1 | 93.8 | 116.3 |
| 46 | 93.8 | 72.6 | 123.8 | 90.0 | 116.1 | 83.0 |
| 47 | 87.4 | 128.0 | 111.7 | 97.3 | 73.9 | 109.5 |
La prueba de Shapiro-Wilk se utiliza para determinar si los datos provienen de una distribución normal. Esta prueba se recomienda cuando el tamaño de la muestra es menor a 50 observaciones.
# Prueba de normalidad de Shapiro-Wilk
shapiro <- shapiro.test(datos$Metodo1)
print(shapiro)
##
## Shapiro-Wilk normality test
##
## data: datos$Metodo1
## W = 0.94317, p-value = 0.02353
cat("\n")
cat("p-valor de Shapiro-Wilk =", shapiro$p.value)
## p-valor de Shapiro-Wilk = 0.02352832
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.02353 es menor que 0.05, se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que los datos del Método 1 no presentan una distribución normal.
La prueba de Kolmogorov-Smirnov se utiliza para evaluar si los datos siguen una distribución normal. Generalmente se recomienda para muestras mayores a 50 observaciones.
# Prueba de Kolmogorov-Smirnov
kolmogorov <- ks.test(
datos$Metodo1,
"pnorm",
mean(datos$Metodo1),
sd(datos$Metodo1)
)
print(kolmogorov)
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: datos$Metodo1
## D = 0.11825, p-value = 0.4902
## alternative hypothesis: two-sided
cat("\np-valor =", kolmogorov$p.value)
##
## p-valor = 0.4902142
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.4902 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que los datos del Método 1 presentan una distribución normal.
El histograma permite visualizar la distribución de los datos, mientras que la curva de densidad representa una estimación suavizada de dicha distribución, facilitando la evaluación visual de la normalidad.
ggplot(data.frame(x = datos$Metodo1), aes(x = x)) +
geom_histogram(aes(y = after_stat(density)),
fill = "#FFD700",
color = "black",
binwidth = 5) +
geom_density(color = "red") +
theme_minimal()
El histograma y la curva de densidad del Método 1 muestran que los 47 datos presentan una distribución con ligeras irregularidades y no siguen claramente una forma normal. Este comportamiento coincide con el resultado de la prueba de Shapiro-Wilk, la cual indicó que los datos del Método 1 no presentan una distribución normaL
La prueba de Grubbs se utiliza para identificar la presencia de un posible dato atípico en un conjunto de datos que presenta distribución aproximadamente normal.
# Prueba de Grubbs
Grubbs <- grubbs.test(datos$Metodo1)
print(Grubbs)
##
## Grubbs test for one outlier
##
## data: datos$Metodo1
## G = 1.71881, U = 0.93438, p-value = 1
## alternative hypothesis: highest value 129.5 is an outlier
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 1.000 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que los 47 datos del Método 1 no presentan datos atípicos, por lo que todas las observaciones pueden considerarse consistentes dentro del conjunto de datos.
La prueba de Dixon se emplea para detectar un posible dato atípico en muestras pequeñas, generalmente entre 3 y 30 observaciones.
La prueba entrega:
La prueba de Dixon no fue aplicada, ya que el conjunto de datos del Método 1 está conformado por 47 observaciones, superando el límite máximo de 30 requerido para esta prueba. Por esta razón, la detección de datos atípicos se realizó mediante la prueba de Grubbs, la cual es adecuada para este tamaño de muestra.
La prueba F se utiliza para comparar las varianzas de dos grupos independientes. En este caso, se comparan las varianzas de los datos del Método 1 y Método 2, con el fin de determinar si presentan diferencias estadísticamente significativas.
# Prueba F
Prueba_F <- var.test(datos$Metodo1, datos$Metodo2)
print(Prueba_F)
##
## F test to compare two variances
##
## data: datos$Metodo1 and datos$Metodo2
## F = 0.89496, num df = 46, denom df = 46, p-value = 0.7082
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.4984933 1.6067364
## sample estimates:
## ratio of variances
## 0.8949566
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.7082 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que las varianzas del Método 1 y del Método 2 son estadísticamente iguales, indicando que ambos métodos presentan una variabilidad similar en las 47 observaciones analizadas.
La prueba t de Student se utiliza para comparar las medias de dos grupos independientes. En este caso, se comparan las medias del Método 1 y Método 2 para determinar si existen diferencias estadísticamente significativas entre ambos métodos.
# Prueba t de Student
Prueba_t <- t.test(datos$Metodo1, datos$Metodo2)
print(Prueba_t)
##
## Welch Two Sample t-test
##
## data: datos$Metodo1 and datos$Metodo2
## t = -0.33469, df = 91.718, p-value = 0.7386
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -8.675321 6.173193
## sample estimates:
## mean of x mean of y
## 99.22979 100.48085
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.7386 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que las medias del Método 1 y del Método 2 no presentan diferencias estadísticamente significativas, indicando que ambos métodos producen resultados promedio similares para las 47 observaciones analizadas.
El Análisis de Varianza (ANOVA) se utiliza para comparar simultáneamente las medias de tres o más grupos independientes. En este caso, se comparan las medias de los seis métodos con el fin de determinar si existen diferencias estadísticamente significativas entre ellos.
# Preparación de los datos
datos_largo <- stack(datos)
colnames(datos_largo) <- c("valores", "metodo")
# Prueba ANOVA
Prueba_ANOVA <- aov(valores ~ metodo, data = datos_largo)
print(Prueba_ANOVA)
## Call:
## aov(formula = valores ~ metodo, data = datos_largo)
##
## Terms:
## metodo Residuals
## Sum of Squares 1355.41 86101.47
## Deg. of Freedom 5 276
##
## Residual standard error: 17.66244
## Estimated effects may be unbalanced
summary(Prueba_ANOVA)
## Df Sum Sq Mean Sq F value Pr(>F)
## metodo 5 1355 271.1 0.869 0.502
## Residuals 276 86101 312.0
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.502 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que no existen diferencias estadísticamente significativas entre las medias de los seis métodos evaluados, lo que indica que los métodos presentan un comportamiento similar y generan resultados comparables en el conjunto total de datos analizados (282 observaciones).
El diagrama de violín permite visualizar la distribución de los datos de cada método, mientras que el diagrama de caja y bigotes resume la mediana, los cuartiles, la dispersión y la posible presencia de valores atípicos. Ambos gráficos facilitan la comparación visual entre los seis métodos evaluados.
ggplot(datos_largo, aes(x = metodo, y = valores, fill = metodo)) +
geom_violin(trim = FALSE) +
geom_boxplot(width = 0.25, fill = "white") +
scale_fill_brewer(palette = "Set2") +
theme_minimal() +
labs(
title = "DIAGRAMA DE VIOLÍN Y CAJA Y BIGOTES",
x = "Métodos",
y = "Valores"
) +
theme(
plot.title = element_text(
hjust = 0.5,
face = "bold",
size = 16
),
axis.title = element_text(face = "bold"),
axis.text = element_text(size = 11),
legend.position = "none"
)
El diagrama de violín y la caja de bigotes muestran que los seis métodos presentan distribuciones similares, con medianas cercanas entre sí y una variabilidad comparable. No se observan diferencias marcadas en la dispersión ni en la forma de las distribuciones, lo cual coincide con el resultado obtenido en el ANOVA (p = 0.502), indicando que no existen diferencias estadísticamente significativas entre las medias de los seis métodos.
Los residuales son las diferencias entre los valores observados y los valores estimados por el modelo ANOVA. Su análisis permite verificar posteriormente si se cumplen los supuestos de normalidad y homogeneidad de varianzas.
# Extraer los residuales del ANOVA
residuos <- residuals(Prueba_ANOVA)
head(residuos)
## 1 2 3 4 5 6
## 30.27021 27.37021 13.47021 -27.72979 22.17021 25.37021
El codigo entrega:
Los residuales permiten evaluar si el modelo ANOVA cumple sus supuestos estadísticos. Posteriormente, estos serán utilizados para realizar:
Los residuales fueron extraídos correctamente del modelo ANOVA y serán utilizados en las pruebas posteriores para verificar el cumplimiento de los supuestos del análisis de varianza.
La prueba de Shapiro-Wilk se aplica a los residuales del modelo ANOVA para verificar si estos siguen una distribución normal, uno de los principales supuestos para la validez del análisis de varianza.
# Prueba de normalidad de los residuales
Shapiro_residuales <- shapiro.test(residuos)
print(Shapiro_residuales)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.95757, p-value = 2.524e-07
cat("p-valor:", Shapiro_residuales$p.value)
## p-valor: 2.524442e-07
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 2.524 × 10⁻⁷ es menor que 0.05, se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que los residuales del modelo ANOVA no siguen una distribución normal, por lo que no se cumple el supuesto de normalidad requerido para el análisis de varianza.
La prueba de Levene se utiliza para evaluar si las varianzas de los grupos son homogéneas. Este es uno de los supuestos fundamentales del ANOVA y permite verificar si la variabilidad es similar entre los seis métodos evaluados.
# Prueba de homogeneidad de varianzas
levene <- leveneTest(valores ~ metodo, data = datos_largo)
print(levene)
## Levene's Test for Homogeneity of Variance (center = median)
## Df F value Pr(>F)
## group 5 0.807 0.5455
## 276
La prueba entrega:
Criterio de decisión (α = 0.05):
Como el p-valor = 0.5455 es mayor que 0.05, no se rechaza la hipótesis nula (H₀). Por lo tanto, se concluye que las varianzas entre los grupos son homogéneas, es decir, se cumple el supuesto de igualdad de varianzas requerido para continuar con el análisis ANOVA.