#ejercicio 1
# Datos proporcionados
SSTr <- 300 # Suma de cuadrados de tratamientos
SSE <- 460 # Suma de cuadrados del error
k <- 5 # Número de niveles del factor (tratamientos)
n <- 7 # Número de observaciones por nivel (unidades experimentales)
# Cálculos
N <- k * n # Total de observaciones
df_trat <- k - 1 # Grados de libertad para tratamientos
df_error <- N - k # Grados de libertad para el error
df_total <- N - 1 # Grados de libertad total
MS_trat <- SSTr / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para el error
F <- MS_trat / MS_error # Estadístico F
p_valor <- 1 - pf(F, df_trat, df_error) # Valor-p asociado al estadístico F
# Generar la tabla ANOVA
tabla_anova <- data.frame(
`Fuente de Variación` = c("Tratamientos", "Error", "Total"),
`Suma de Cuadrados` = c(SSTr, SSE, SSTr + SSE),
`Grados de Libertad` = c(df_trat, df_error, df_total),
`Cuadrado Medio` = c(MS_trat, MS_error, NA),
`F` = c(F, NA, NA),
`Valor-p` = c(p_valor, NA, NA)
)
# Mostrar la tabla
print(tabla_anova)
## Fuente.de.Variación Suma.de.Cuadrados Grados.de.Libertad Cuadrado.Medio
## 1 Tratamientos 300 4 75.00000
## 2 Error 460 30 15.33333
## 3 Total 760 34 NA
## F Valor.p
## 1 4.891304 0.003709674
## 2 NA NA
## 3 NA NA
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (p_valor < 0.05) {
cat("Rechazamos H0: Existen diferencias significativas entre los tratamientos.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente de diferencias significativas.\n")
}
## Rechazamos H0: Existen diferencias significativas entre los tratamientos.
rm(SSTr, SSE, df_trat, df_error, df_total, MS_trat, MS_error, F_calculado, valor_p)
## Warning in rm(SSTr, SSE, df_trat, df_error, df_total, MS_trat, MS_error, :
## object 'F_calculado' not found
## Warning in rm(SSTr, SSE, df_trat, df_error, df_total, MS_trat, MS_error, :
## object 'valor_p' not found
#ejercicio 2
# Datos proporcionados
SSTr <- 1200 # Suma de cuadrados de tratamientos
SST <- 1800 # Suma de cuadrados total
k <- 3 # Número de tratamientos
n1 <- 12 # Unidades experimentales para el primer tratamiento
n2 <- 15 # Unidades experimentales para el segundo tratamiento
n3 <- 20 # Unidades experimentales para el tercer tratamiento
# Total de unidades experimentales
N <- n1 + n2 + n3 # Total de observaciones
# Grados de libertad
df_trat <- k - 1 # Grados de libertad para tratamientos
df_error <- N - k # Grados de libertad para el error
df_total <- N - 1 # Grados de libertad total
# Suma de cuadrados del error
SSE <- SST - SSTr # Suma de cuadrados del error
# Cuadrados medios
MS_trat <- SSTr / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para el error
# Estadístico F
F <- MS_trat / MS_error # Estadístico F
# Valor-p
p_valor <- 1 - pf(F, df_trat, df_error) # Valor-p asociado al estadístico F
# Generar la tabla ANOVA
tabla_anova <- data.frame(
`Fuente de Variación` = c("Tratamientos", "Error", "Total"),
`Suma de Cuadrados` = c(SSTr, SSE, SST),
`Grados de Libertad` = c(df_trat, df_error, df_total),
`Cuadrado Medio` = c(MS_trat, MS_error, NA),
`F` = c(F, NA, NA),
`Valor-p` = c(p_valor, NA, NA)
)
# Mostrar la tabla
print(tabla_anova)
## Fuente.de.Variación Suma.de.Cuadrados Grados.de.Libertad Cuadrado.Medio F
## 1 Tratamientos 1200 2 600.00000 44
## 2 Error 600 44 13.63636 NA
## 3 Total 1800 46 NA NA
## Valor.p
## 1 3.186629e-11
## 2 NA
## 3 NA
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (p_valor < 0.05) {
cat("Rechazamos H0: Existen diferencias significativas entre los tratamientos.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente de diferencias significativas.\n")
}
## Rechazamos H0: Existen diferencias significativas entre los tratamientos.
rm(SSTr, SST, k, n1, n2, n3, N, df_trat, df_error, df_total, SSE, MS_trat, MS_error, F, p_valor, tabla_anova)
#ejercicio 3
# Datos proporcionados para los tratamientos A y B
tratamiento_A <- c(136, 107, 92, 82, 85, 120, 114, 113, 107, 125, 104, 101, 89, 131, 107, 114, 129, 109, 97, 117, 102)
tratamiento_B <- c(114, 104, 110, 120, 98, 89, 106, 119, 107, 100, 146, 86, 96, 44, 173, 78)
# Combinamos los datos en un solo vector para ANOVA
datos <- c(tratamiento_A, tratamiento_B)
grupo <- factor(rep(c("A", "B"), c(length(tratamiento_A), length(tratamiento_B)))) # Etiquetas de los grupos
# Realizamos el análisis de varianza (ANOVA)
anova_resultado <- aov(datos ~ grupo)
# Resumen de la tabla ANOVA
summary(anova_resultado)
## Df Sum Sq Mean Sq F value Pr(>F)
## grupo 1 81 81.4 0.173 0.68
## Residuals 35 16459 470.2
# Realizamos los cálculos de la tabla ANOVA
SSTr <- sum((tapply(datos, grupo, mean) - mean(datos))^2 * table(grupo)) # Suma de cuadrados tratamientos
SSE <- sum((datos - tapply(datos, grupo, mean)[grupo])^2) # Suma de cuadrados error
df_trat <- length(unique(grupo)) - 1 # Grados de libertad para tratamientos
df_error <- length(datos) - length(unique(grupo)) # Grados de libertad para el error
MS_trat <- SSTr / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para error
F_calculado <- MS_trat / MS_error # Estadístico F
valor_p <- 1 - pf(F_calculado, df_trat, df_error) # Valor-p asociado al estadístico F
# Imprimimos los resultados
cat("Suma de cuadrados para tratamientos (SSTr):", SSTr, "\n")
## Suma de cuadrados para tratamientos (SSTr): 81.40573
cat("Suma de cuadrados del error (SSE):", SSE, "\n")
## Suma de cuadrados del error (SSE): 16458.7
cat("Cuadrado medio para tratamientos (MS_trat):", MS_trat, "\n")
## Cuadrado medio para tratamientos (MS_trat): 81.40573
cat("Cuadrado medio para el error (MS_error):", MS_error, "\n")
## Cuadrado medio para el error (MS_error): 470.2486
cat("Estadístico F:", F_calculado, "\n")
## Estadístico F: 0.1731121
cat("Valor-p:", valor_p, "\n")
## Valor-p: 0.679901
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (valor_p < 0.05) {
cat("Rechazamos H0: Existe una diferencia significativa entre las medias de los tratamientos.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente para afirmar que las medias son diferentes.\n")
}
## No se puede rechazar H0: No hay evidencia suficiente para afirmar que las medias son diferentes.
rm(tratamiento_A, tratamiento_B, datos, grupo, anova_resultado, SSTr, SSE, df_trat, df_error, MS_trat, MS_error, F_calculado, valor_p)
#ejercico 4
# Datos proporcionados
SST <- 10800 # Suma de cuadrados total
SSA <- 4560 # Suma de cuadrados tratamientos
k <- 3 # Número de tratamientos (métodos)
N <- 30 # Total de empleados
# Cálculos
SSE <- SST - SSA # Suma de cuadrados del error
df_trat <- k - 1 # Grados de libertad para tratamientos
df_error <- N - k # Grados de libertad para el error
df_total <- N - 1 # Grados de libertad total
# Cuadrados medios
MS_trat <- SSA / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para el error
# Estadístico F
F_calculado <- MS_trat / MS_error # Estadístico F
# Valor-p
p_valor <- 1 - pf(F_calculado, df_trat, df_error) # Valor-p asociado al estadístico F
# Generar la tabla ANOVA
tabla_anova <- data.frame(
`Fuente de Variación` = c("Tratamientos", "Error", "Total"),
`Suma de Cuadrados` = c(SSA, SSE, SST),
`Grados de Libertad` = c(df_trat, df_error, df_total),
`Cuadrado Medio` = c(MS_trat, MS_error, NA),
`F` = c(F_calculado, NA, NA),
`Valor-p` = c(p_valor, NA, NA)
)
# Mostrar la tabla ANOVA
print(tabla_anova)
## Fuente.de.Variación Suma.de.Cuadrados Grados.de.Libertad Cuadrado.Medio
## 1 Tratamientos 4560 2 2280.0000
## 2 Error 6240 27 231.1111
## 3 Total 10800 29 NA
## F Valor.p
## 1 9.865385 0.0006078148
## 2 NA NA
## 3 NA NA
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (p_valor < 0.05) {
cat("Rechazamos H0: Existen diferencias significativas entre las medias de los métodos de fabricación.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente para afirmar que las medias son diferentes.\n")
}
## Rechazamos H0: Existen diferencias significativas entre las medias de los métodos de fabricación.
# Borrar las variables utilizadas después del análisis
rm(SST, SSA, k, N, SSE, df_trat, df_error, df_total, MS_trat, MS_error, F_calculado, p_valor, tabla_anova)
#ejercicio 5
# Datos de los rendimientos para cada temperatura
temperatura_50 <- c(34, 39, 23, 28, 32)
temperatura_60 <- c(24, 30, 34, 23, 27)
temperatura_70 <- c(36, 31, 28, 30, 31)
# Combinamos los datos en un solo vector
rendimiento <- c(temperatura_50, temperatura_60, temperatura_70)
# Crear un factor para representar las temperaturas
temperatura <- factor(rep(c("50°C", "60°C", "70°C"), each = 5))
# Realizamos el análisis de varianza (ANOVA)
anova_resultado <- aov(rendimiento ~ temperatura)
# Mostrar resumen de ANOVA
summary(anova_resultado)
## Df Sum Sq Mean Sq F value Pr(>F)
## temperatura 2 43.2 21.6 0.986 0.401
## Residuals 12 262.8 21.9
# Cálculos de la tabla ANOVA
SSTr <- sum((tapply(rendimiento, temperatura, mean) - mean(rendimiento))^2 * table(temperatura)) # Suma de cuadrados tratamientos
SSE <- sum((rendimiento - tapply(rendimiento, temperatura, mean)[temperatura])^2) # Suma de cuadrados error
df_trat <- length(unique(temperatura)) - 1 # Grados de libertad para tratamientos
df_error <- length(rendimiento) - length(unique(temperatura)) # Grados de libertad para el error
MS_trat <- SSTr / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para error
F_calculado <- MS_trat / MS_error # Estadístico F
valor_p <- 1 - pf(F_calculado, df_trat, df_error) # Valor-p asociado al estadístico F
# Imprimir resultados de la tabla ANOVA
cat("Suma de cuadrados para tratamientos (SSTr):", SSTr, "\n")
## Suma de cuadrados para tratamientos (SSTr): 43.2
cat("Suma de cuadrados del error (SSE):", SSE, "\n")
## Suma de cuadrados del error (SSE): 262.8
cat("Cuadrado medio para tratamientos (MS_trat):", MS_trat, "\n")
## Cuadrado medio para tratamientos (MS_trat): 21.6
cat("Cuadrado medio para el error (MS_error):", MS_error, "\n")
## Cuadrado medio para el error (MS_error): 21.9
cat("Estadístico F:", F_calculado, "\n")
## Estadístico F: 0.9863014
cat("Valor-p:", valor_p, "\n")
## Valor-p: 0.4012579
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (valor_p < 0.05) {
cat("Rechazamos H0: Existen diferencias significativas entre las temperaturas en el rendimiento del proceso.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente de que la temperatura afecte el rendimiento del proceso.\n")
}
## No se puede rechazar H0: No hay evidencia suficiente de que la temperatura afecte el rendimiento del proceso.
# Limpiar el entorno
rm(temperatura_50, temperatura_60, temperatura_70, rendimiento, temperatura, anova_resultado, SSTr, SSE, df_trat, df_error, MS_trat, MS_error, F_calculado, valor_p)
#ejercicio 6
# Datos de rendimiento en millas por galón para cada automóvil
automovil_A <- c(19, 21, 20, 20, 21)
automovil_B <- c(19, 20, 22, 23, 23)
automovil_C <- c(24, 21, 25, 23, 23)
# Combinamos los datos en un solo vector
rendimiento <- c(automovil_A, automovil_B, automovil_C)
# Crear un factor para representar los automóviles
automovil <- factor(rep(c("A", "B", "C"), each = 5))
# Realizamos el análisis de varianza (ANOVA)
anova_resultado <- aov(rendimiento ~ automovil)
# Mostrar resumen de ANOVA
summary(anova_resultado)
## Df Sum Sq Mean Sq F value Pr(>F)
## automovil 2 22.8 11.400 5.516 0.02 *
## Residuals 12 24.8 2.067
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Cálculos de la tabla ANOVA
SSTr <- sum((tapply(rendimiento, automovil, mean) - mean(rendimiento))^2 * table(automovil)) # Suma de cuadrados tratamientos
SSE <- sum((rendimiento - tapply(rendimiento, automovil, mean)[automovil])^2) # Suma de cuadrados error
df_trat <- length(unique(automovil)) - 1 # Grados de libertad para tratamientos
df_error <- length(rendimiento) - length(unique(automovil)) # Grados de libertad para el error
MS_trat <- SSTr / df_trat # Cuadrado medio para tratamientos
MS_error <- SSE / df_error # Cuadrado medio para error
F_calculado <- MS_trat / MS_error # Estadístico F
valor_p <- 1 - pf(F_calculado, df_trat, df_error) # Valor-p asociado al estadístico F
# Imprimir resultados de la tabla ANOVA
cat("Suma de cuadrados para tratamientos (SSTr):", SSTr, "\n")
## Suma de cuadrados para tratamientos (SSTr): 22.8
cat("Suma de cuadrados del error (SSE):", SSE, "\n")
## Suma de cuadrados del error (SSE): 24.8
cat("Cuadrado medio para tratamientos (MS_trat):", MS_trat, "\n")
## Cuadrado medio para tratamientos (MS_trat): 11.4
cat("Cuadrado medio para el error (MS_error):", MS_error, "\n")
## Cuadrado medio para el error (MS_error): 2.066667
cat("Estadístico F:", F_calculado, "\n")
## Estadístico F: 5.516129
cat("Valor-p:", valor_p, "\n")
## Valor-p: 0.02000177
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (valor_p < 0.05) {
cat("Rechazamos H0: Existen diferencias significativas entre los automóviles en el rendimiento de la gasolina.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente de que los automóviles tengan diferencias significativas en el rendimiento de la gasolina.\n")
}
## Rechazamos H0: Existen diferencias significativas entre los automóviles en el rendimiento de la gasolina.
# Limpiar el entorno
rm(automovil_A, automovil_B, automovil_C, rendimiento, automovil, anova_resultado, SSTr, SSE, df_trat, df_error, MS_trat, MS_error, F_calculado, valor_p)
#ejercicio 7
# Datos proporcionados
SST <- 1500 # Suma de cuadrados total
MSA <- 400 # Cuadrado medio de tratamientos
k <- 4 # Número de tratamientos (poblaciones)
n <- 16 # Número de observaciones por tratamiento
N <- n * k # Número total de observaciones
df_tratamientos <- k - 1 # Grados de libertad para los tratamientos
df_error <- N - k # Grados de libertad para el error
# Calculamos ESS (Suma de cuadrados del error)
SSA <- MSA * df_tratamientos # Suma de cuadrados de los tratamientos
ESS <- SST - SSA # Suma de cuadrados del error
# Calculamos MSE (Cuadrado medio del error)
MSE <- ESS / df_error
# Calculamos la razón F
FMSA <- MSA / MSE
# Imprimimos la tabla ANOVA
cat("Suma de Cuadrados de Tratamientos (SSA):", SSA, "\n")
## Suma de Cuadrados de Tratamientos (SSA): 1200
cat("Suma de Cuadrados del Error (ESS):", ESS, "\n")
## Suma de Cuadrados del Error (ESS): 300
cat("Cuadrado Medio del Error (MSE):", MSE, "\n")
## Cuadrado Medio del Error (MSE): 5
cat("Razón F:", FMSA, "\n")
## Razón F: 80
# Borrar todos los objetos utilizados
rm(list = ls())
cat("\nTodos los datos y variables han sido eliminados.\n")
##
## Todos los datos y variables han sido eliminados.
#ejercicio 8
# Valores para los grados de libertad
df1 <- 3 # grados de libertad de los tratamientos
df2 <- 20 # grados de libertad del error
alpha <- 0.05 # nivel de significancia
# Valor crítico de F
F_critico <- qf(1 - alpha, df1, df2)
cat("Valor crítico de F:", F_critico, "\n")
## Valor crítico de F: 3.098391
#ejercicio 9
# Definir los grados de libertad y el nivel de significancia
df1 <- 3 # Grados de libertad para tratamientos
df2 <- 16 # Grados de libertad para el error
alpha <- 0.05
# Calcular el valor crítico de F
F_critico <- qf(1 - alpha, df1, df2)
cat("Valor crítico de F:", F_critico, "\n")
## Valor crítico de F: 3.238872
# Calcular el valor p asociado al estadístico F
p_valor <- pf(107.3, df1, df2, lower.tail = FALSE)
cat("Valor p:", p_valor, "\n")
## Valor p: 8.257772e-11
#ejercicio 10
# Datos proporcionados
MSA <- 2573.3 # Cuadrado medio entre tratamientos
MSE <- 1394.2 # Cuadrado medio dentro de los tratamientos
k <- 5 # Número de marcas (niveles del factor)
n <- 4 # Número de muestras por marca
alpha <- 0.05 # Nivel de significancia
# Grados de libertad
df_trat <- k - 1 # Grados de libertad para tratamientos
df_error <- k * (n - 1) # Grados de libertad para el error
df_total <- k * n - 1 # Grados de libertad total
# Estadístico F calculado
F_calculado <- MSA / MSE
# Valor crítico de F
F_critico <- qf(1 - alpha, df_trat, df_error)
# Valor-p
p_valor <- pf(F_calculado, df_trat, df_error, lower.tail = FALSE)
# Resultados
cat("Tabla ANOVA:\n")
## Tabla ANOVA:
cat("Fuente de Variación | Suma de Cuadrados | Grados de Libertad | Cuadrado Medio | Razón F\n")
## Fuente de Variación | Suma de Cuadrados | Grados de Libertad | Cuadrado Medio | Razón F
cat("Tratamientos | NA |", df_trat, " |", MSA, " |", F_calculado, "\n")
## Tratamientos | NA | 4 | 2573.3 | 1.845718
cat("Error | NA |", df_error, " |", MSE, " | NA\n")
## Error | NA | 15 | 1394.2 | NA
cat("Total | NA |", df_total, " | NA | NA\n")
## Total | NA | 19 | NA | NA
cat("\nPrueba de Hipótesis:\n")
##
## Prueba de Hipótesis:
cat("F calculado:", F_calculado, "\n")
## F calculado: 1.845718
cat("F crítico:", F_critico, "\n")
## F crítico: 3.055568
cat("Valor-p:", p_valor, "\n")
## Valor-p: 0.1726335
# Conclusión
cat("\nConclusión:\n")
##
## Conclusión:
if (p_valor < alpha) {
cat("Rechazamos H0: Existen diferencias significativas entre las marcas de pintura.\n")
} else {
cat("No se puede rechazar H0: No hay evidencia suficiente para afirmar diferencias significativas entre las marcas.\n")
}
## No se puede rechazar H0: No hay evidencia suficiente para afirmar diferencias significativas entre las marcas.
# Eliminar los datos creados
rm(list = ls())