#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