{r} install.packages("tidyverse") install.packages("readxl") install.packages("car") install.packages("agricolae") install.packages("emmeans") install.packages("summarytools")
{r} library("tidyverse") library("readxl") library("car") library("agricolae") library("emmeans") library("summarytools")
{r} NOVILLOS <- read.csv("novillos.csv", header = TRUE, sep = ",")
{r} names(NOVILLOS)
{r} str(NOVILLOS)
{r} head(NOVILLOS)
{r} summary(NOVILLOS)
{r} NOVILLOS_DIETA <- NOVILLOS %>% group_by(TRATAMIENTO, CORRAL) %>% summarise(GANANCIA_PROMEDIO = mean(GANANCIA, na.rm = TRUE)) %>% ungroup() %>% mutate(TRATAMIENTO = factor(TRATAMIENTO))
{r} print(NOVILLOS_DIETA)
{r} str(NOVILLOS_DIETA)
{r} head(NOVILLOS_DIETA)
{r} DESCRIPTIVAS <- NOVILLOS_DIETA %>% group_by(TRATAMIENTO) %>% summarise( Media = mean(GANANCIA_PROMEDIO, na.rm = TRUE), Mediana = median(GANANCIA_PROMEDIO, na.rm = TRUE), Desviacion = sd(GANANCIA_PROMEDIO, na.rm = TRUE), Minimo = min(GANANCIA_PROMEDIO, na.rm = TRUE), Maximo = max(GANANCIA_PROMEDIO, na.rm = TRUE), N = n() ) # Mostrar resultados en una tabla DESCRIPTIVAS
```{r} library(ggplot2)
ggplot(NOVILLOS_DIETA, aes(x = TRATAMIENTO, y = GANANCIA_PROMEDIO, fill = TRATAMIENTO)) + geom_boxplot(alpha = 0.6) + stat_summary(fun = mean, geom = “point”, shape = 20, size = 3, color = “black”) + labs(title = “Ganancia de peso por tratamiento (a nivel de corral)”, x = “Tratamiento”, y = “Ganancia promedio de peso”) + theme_minimal()
### 4.3. Conclusiones
*El Tratamiento P25 logró la mayor media de aumento de peso, lo que lo convierte en el más prometedor en términos de productividad, aunque su alta variabilidad entre corrales indica diferencias en el manejo o en la respuesta de los animales. ###El Tratamiento P15 también demostró ser eficiente, con ganancias promedio comparables a las de P25, pero con menor dispersión, lo que lo hace una opción más estable y uniforme. ###El Tratamiento P35 resultó ser el menos favorable, presentando la ganancia promedio más baja en todos los corrales evaluados.*
# B. Análisis de Varianza (ANOVA)
## 5. Hipótesis
**Hipótesis nula (H₀)**: No existen diferencias significativas en la ganancia de peso promedio entre tratamientos.
*H0:μP15=μP25=μP35*
**Hipótesis alternativa (H₁**): Al menos un tratamiento difiere en la ganancia de peso promedio.
*H1:∃ i,j tal que μi ≠ μj*
## 6. Ajuste del modelo ANOVA
Como la unidad experimental es el corral, usaremos la tabla NOVILLOS_DIETA (ganancia promedio por corral)
```{r}
# Creamos el objeto modelo_dca
modelo_dca <- aov(GANANCIA_PROMEDIO ~ TRATAMIENTO, data = NOVILLOS_DIETA)
# Resumen del modelo
summary(modelo_dca)
El análisis de varianza reveló que el impacto del tratamiento en la ganancia de peso a nivel de corral no fue significativo (F = 0,704; p = 0,05). Por consiguiente, no hay evidencia estadísticamente significativa para rechazar la hipótesis nula, lo que sugiere que no se encontraron diferencias significativas entre los tratamientos analizados.
{r} residuos_dca <- modelo_dca$residuals # residuos = observado - predicho predichos_dca <- modelo_dca$fitted.values # valores predichos
{r} names(modelo_dca$model)
```{r} tabla <- data.frame( Observado = modelo_dca\(model[[1]], # primera columna usada en el modelo Predichos = predichos_dca, Residual = residuos_dca, Tratamiento = modelo_dca\)model[[2]] # segunda columna usada en el modelo )
print(tabla)
### 8.3. Gráficos diagnósticos del modelo (residuos vs predichos y Q-Q plot).
#### Normalidad Gráfico Q-Q plot
```{r}
plot(modelo_dca, which = 2)
Interpretación: En este gráfico Q-Q de residuos se puede observar que la mayoría de los puntos se ajustan bastante bien a la línea diagonal, lo que sugiere que los residuos se asemejan a una distribución normal. En los extremos se aprecian ligeras desviaciones. No se detectan curvaturas sistemáticas ni grandes desviaciones, lo que respalda el cumplimiento del supuesto de normalidad de los errores.
Gráfico de residuos vs predichos
{r} plot(modelo_dca, which = 1)
Interpretación: El gráfico de residuos vs los valores ajustados del modelo ANOVA indica que los residuos se distribuyen aleatoriamente alrededor de la línea horizontal en cero, sin mostrar un patrón claro. Esto sugiere que el supuesto de homogeneidad de varianzas se cumple de manera razonable. No obstante, se detectan algunas observaciones atípicas (outliers) que se apartan del resto de los datos, las cuales podrían afectar los resultados y sería recomendable revisarlas.
H0: SI se cumple el supuesto de Normalidad.
H1: NO se cumple el supuesto de Normalidad.
{r} shapiro.test(modelo_dca$residuals)
Interpretación: La hipótesis nula (H₀) de la prueba Shapiro–Wilk es: “los residuos siguen una distribución normal”. Como el p-value = 0.1768 > 0.05, no se rechaza H₀. Eso significa que los residuos cumplen con el supuesto de normalidad (p > 0.05, Shapiro–Wilk).
H0: SI cumple el supuesto de Homocedasticidad.
H1: NO se cumple el supuesto de Homocedasticidad.
{r} levene_test <- leveneTest(GANANCIA_PROMEDIO ~ TRATAMIENTO, data = NOVILLOS_DIETA) levene_test
Interpretación: La hipótesis nula (H₀) de la prueba de Levene es: “las varianzas son iguales entre los grupos”.Como p-value = 0.8462 > 0.05, no se rechaza H₀. Esto significa que se cumple el supuesto de homogeneidad de varianzas requerido para el ANOVA.
{r} summary(modelo_dca)
Interpretación: El análisis de varianza mostró que no existen diferencias significativas en la ganancia promedio entre los tratamientos evaluados (p > 0.05). En consecuencia, no resulta necesario aplicar pruebas de comparaciones múltiples, dado que no se rechaza la hipótesis nula de igualdad de medias.
El estudio sobre la ganancia de peso vivo de los novillos Braford en engorde a corral no reveló diferencias significativas (p > 0,05) entre los tres niveles de inclusión del subproducto fibroso (15 %, 25 % y 35 % en base seca). Esto sugiere que, dentro del rango analizado, el incremento en la proporción del subproducto no impactó de manera estadísticamente detectable el rendimiento productivo de los animales. No obstante, al examinar los datos se puede notar que las medias de ganancia de peso entre los tratamientos mostraron variaciones que, aunque no significativas, podrían ser atribuidas a factores como:
Variabilidad individual de los animales dentro de cada corral, que puede ocultar el efecto de las dietas. Número limitado de repeticiones, lo que disminuye la potencia estadística para identificar diferencias pequeñas pero biológicamente relevantes.
Adaptación de los animales al subproducto, dado que un periodo de habituación insuficiente o diferencias en la digestibilidad pueden afectar el aprovechamiento de la dieta.
Condiciones ambientales (estrés calórico, manejo del agua o del corral) que influyen en el consumo y, por ende, en la ganancia de peso.
En términos prácticos, los resultados indican que es factible incluir hasta un 35 % del subproducto en la dieta sin comprometer el rendimiento animal, lo que representa una opción viable para disminuir los costos de alimentación en sistemas de engorde a corral.
{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE)
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
{r cars} summary(cars)
You can also embed plots, for example:
{r pressure, echo=FALSE} plot(pressure)
Note that the echo = FALSE
parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.