{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.
punto 1 author: “Sandra y jhon” date: “2025-04-18” output:
setosa <- c(5.1, 4.9, 4.7, 4.6, 5, 5.4, 4.6, 5, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8) versicolor <- c(7, 6.4, 6.9, 5.5, 6.5, 5.7, 6.3, 4.9, 6.6, 5.2, 5, 5.9, 6, 6.1, 5.6) virginica <- c(6.3, 5.8, 7.1, 6.3, 6.5, 7.6, 4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8)
longitudes <- c(setosa, versicolor, virginica)
especies <- c(rep(“Setosa”, length(setosa)), rep(“Versicolor”, length(versicolor)), rep(“Virginica”, length(virginica)))
flores <- data.frame( Especie = especies, Longitud_cm = longitudes )
head(flores)
# Aplicamos un modelo ANOVA completamente al azar
modelo_flores <- aov(Longitud_cm ~ Especie, data = flores)
# Revisamos el resumen del modelo
summary(modelo_flores)
```{r} # Usamos la librería agricolae, que sirve para hacer comparaciones múltiples # Primero se instala si no está instalada # install.packages(“agricolae”)
library(agricolae)
comparacion_lsd <- LSD.test(modelo_flores, “Especie”, p.adj = “none”)
comparacion_lsd$groups
# Ahora hacemos la prueba de Duncan, que agrupa con letras
duncan_resultado <- duncan.test(modelo_flores, "Especie", group = TRUE)
# Mostramos los grupos resultantes
print(duncan_resultado$groups)
bar.group(duncan_resultado$groups, col = c(“pink”, “lightyellow”, “lightcyan”), main = “Longitud Promedio de Flores por Especie”, xlab = “Especie de flor”, ylab = “Longitud media (cm)”, border = “black”)
punto 2
control <- c(213, 214, 204, 208, 212, 200, 207) # Sin tratamiento bicarbonato <- c(76, 85, 74, 78, 82, 75, 82) # T2 sal <- c(57, 67, 55, 64, 61, 63, 63) # T3 ambos <- c(84, 82, 85, 92, 87, 79, 90) # T4
todos_los_tiempos <- c(control, bicarbonato, sal, ambos)
tratamientos <- c(rep(“Control”, 7), rep(“Bicarbonato”, 7), rep(“Sal”, 7), rep(“Ambos”, 7))
frijoles <- data.frame( Tratamiento = factor(tratamientos), Tiempo = todos_los_tiempos )
head(frijoles)
# PREGUNTAS TEÓRICAS:
# ➤ POSIBLES FACTORES PERTURBADORES:
# - La cantidad de frijoles por porción (peso)
# - Tipo de olla utilizada
# - Altura o presión atmosférica
# - Diferencias en la llama o la fuente de calor
# ➤ ¿CÓMO CONTROLAR ESOS FACTORES?
# - Usar una báscula para pesar siempre la misma cantidad
# - Cocinar todas las muestras en la misma olla
# - Cocinar el mismo día para mantener temperatura ambiental
# - Usar la misma fuente de calor (misma estufa y fuego)
# ➤ ¿CUÁL ES LA UNIDAD EXPERIMENTAL?
# Cada porción individual de frijoles cocinada y medida en tiempo
# ➤ ¿ALEATORIZACIÓN?
# Se puede usar un número aleatorio para asignar el tratamiento a cada muestra
# o simplemente mezclar las muestras y tratarlas sin un patrón fijo
# ➤ HIPÓTESIS ESTADÍSTICAS:
# H0: Todos los tratamientos tienen el mismo tiempo de cocción promedio
# H1: Al menos uno de los tratamientos cambia el tiempo de cocción
```{r}
# Hacemos el análisis de varianza
modelo_coccion <- aov(Tiempo ~ Tratamiento, data = frijoles)
# Mostramos el resumen para ver el valor p
summary(modelo_coccion)
library(agricolae)
tukey_coccion <- HSD.test(modelo_coccion, “Tratamiento”, group = TRUE)
print(tukey_coccion$groups)
```
bar.group(tukey_coccion$groups, col = c(“lightcoral”, “lightblue”, “lightgreen”, “khaki”), main = “Tiempo promedio de cocción por tratamiento”, xlab = “Tratamiento aplicado”, ylab = “Tiempo (minutos)”, border = “gray40”)
punto 3
bloque1 <- data.frame(Bloque = 1, A = 5.5, B = 6.9, C = 5.5, D = 7.2) # Bloque 2: D, B, C, A bloque2 <- data.frame(Bloque = 2, A = 4.1, B = 5.3, C = 5.6, D = 5.8) # Bloque 3: D, A, B, C bloque3 <- data.frame(Bloque = 3, A = 5.3, B = 6.6, C = 4.5, D = 6.9) # Bloque 4: A, B, C, D bloque4 <- data.frame(Bloque = 4, A = 5.0, B = 7.2, C = 6.1, D = 7.0) # Bloque 5: B, C, A, D bloque5 <- data.frame(Bloque = 5, A = 4.8, B = 6.2, C = 5.7, D = 5.8)
bloques_completos <- rbind(bloque1, bloque2, bloque3, bloque4, bloque5)
datos <- reshape(bloques_completos, varying = c(“A”, “B”, “C”, “D”), v.names = “Rendimiento”, timevar = “Tratamiento”, times = c(“A”, “B”, “C”, “D”), direction = “long”)
datos\(Tratamiento <- as.factor(datos\)Tratamiento) datos\(Bloque <- as.factor(datos\)Bloque)
head(datos)
modelo_col <- aov(Rendimiento ~ Tratamiento + Bloque, data = datos)
summary(modelo_col)
library(agricolae)
comparacion_col <- LSD.test(modelo_col, “Tratamiento”, group = TRUE)
print(comparacion_col$groups)
bar.group(comparacion_col$groups, col = c(“lightgreen”, “lightskyblue”, “wheat”, “plum”), main = “Rendimiento de col crespa por sistema de cultivo”, xlab = “Sistema de cultivo”, ylab = “Rendimiento (toneladas por hectárea)”, border = “black”)