Una empresa encargada en la comercialización de productos apícolas, está interesada en determinar el efecto de la temperatura ambiente y la viscosidad del líquido sobre la energía consumida por las abejas al beber.
Los niveles de temperatura (T) fueron 20, 30 y 40 ºC. La viscosidad del líquido se controló por la concentración de sacarosa (S) que eran 20, 40 y 60% del total de sólidos disueltos en el líquido que beben las abejas.
Los investigadores registraron la energía gastada por las abejas en joules/segundo.
###Carga de datos
library(readr)
Tabla<- read_csv("Datos apicultura/Tabla.csv")
## Rows: 27 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (3): Temperatura (°C), Sacarosa (%), Energía
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
str(Tabla)
## spc_tbl_ [27 × 3] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Temperatura (°C): num [1:27] 20 20 20 20 20 20 20 20 20 30 ...
## $ Sacarosa (%) : num [1:27] 20 20 20 40 40 40 60 60 60 20 ...
## $ Energía : num [1:27] 3.1 3.7 4.7 5.5 6.7 7.3 7.9 9.2 9.3 6 ...
## - attr(*, "spec")=
## .. cols(
## .. `Temperatura (°C)` = col_double(),
## .. `Sacarosa (%)` = col_double(),
## .. Energía = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
Tabla$`Temperatura (°C)`<- as.factor(Tabla$`Temperatura (°C)`)
Tabla$`Sacarosa (%)` <- as.factor(Tabla$`Sacarosa (%)`)
str(Tabla)
## spc_tbl_ [27 × 3] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Temperatura (°C): Factor w/ 3 levels "20","30","40": 1 1 1 1 1 1 1 1 1 2 ...
## $ Sacarosa (%) : Factor w/ 3 levels "20","40","60": 1 1 1 2 2 2 3 3 3 1 ...
## $ Energía : num [1:27] 3.1 3.7 4.7 5.5 6.7 7.3 7.9 9.2 9.3 6 ...
## - attr(*, "spec")=
## .. cols(
## .. `Temperatura (°C)` = col_double(),
## .. `Sacarosa (%)` = col_double(),
## .. Energía = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
Se lleva a cabo un analisis gráfico con el objetivo de revisar el efecto de las variables sobre la respuesta
library(ggplot2)
ggplot(Tabla, aes(x = `Temperatura (°C)`, y = Energía, color = `Sacarosa (%)`, group = `Sacarosa (%)`)) +
stat_summary(fun = mean, geom = "line", linewidth = 1) +
stat_summary(fun = mean, geom = "point", size = 3) +
labs(title = "Interacción entre temperatura y sacarosa sobre la energía consumida por las abejas",
x = "Temperatura (°C)",
y = "Energía (J/s)",
color = "Sacarosa (%)",
caption = "Autor: Juan Camilo Mejía") +
theme_update()
ggplot(Tabla, aes(x = `Temperatura (°C)`, y = Energía, fill = `Sacarosa (%)`)) +
geom_boxplot(position = position_dodge(width = 0.8)) +
labs(title = "Efecto de la temperatura y concentración de sacarosa sobre la energía consumida por las abejas",
x = "Temperatura (°C)",
y = "Energía (J/s)",
fill = "Sacarosa (%)",
caption = "Autor: Juan Camilo Mejía") +
theme_minimal()
### Interacción de bloques
# En el caso hipotético que cada combinación de Temperatura y Sacarosa se repitió tres veces
Tabla$Bloque <- as.factor(rep(1:3, 9))
# Modelo con bloque incluido
modelo_bloques <- aov(Energía ~ `Temperatura (°C)` * `Sacarosa (%)` + Bloque, data = Tabla)
summary(modelo_bloques)
## Df Sum Sq Mean Sq F value Pr(>F)
## `Temperatura (°C)` 2 293.16 146.58 192.879 6.33e-12 ***
## `Sacarosa (%)` 2 309.96 154.98 203.933 4.12e-12 ***
## Bloque 2 4.13 2.06 2.716 0.096516 .
## `Temperatura (°C)`:`Sacarosa (%)` 4 27.13 6.78 8.925 0.000549 ***
## Residuals 16 12.16 0.76
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
library(ggplot2)
ggplot(Tabla, aes(x = `Temperatura (°C)`, y = Energía, color = `Sacarosa (%)`, group = `Sacarosa (%)`)) +
stat_summary(fun = mean, geom = "line", size = 1) +
stat_summary(fun = mean, geom = "point", size = 3) +
facet_wrap(~Bloque) +
labs(title = "Interacción Temperatura × Sacarosa por Bloques",
x = "Temperatura (°C)",
y = "Energía (J/s)",
color = "Sacarosa (%)",
caption = "Autor: Juan Camilo Mejía") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
### Gráficos de interacción
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
# Promedios por combinación de factores
Tabla %>%
group_by(`Temperatura (°C)`, `Sacarosa (%)`) %>%
summarise(Energia_media = mean(Energía)) %>%
ggplot() +
geom_line(aes(x = `Temperatura (°C)`, y = Energia_media,
group = `Sacarosa (%)`, color = `Sacarosa (%)`), size = 0.8) +
labs(y = "Energía (J/s)",
title = "Interacción entre Temperatura y Sacarosa sobre la Energía consumida",
caption = "Autor: Juan Camilo Mejía") +
theme_minimal()
## `summarise()` has grouped output by 'Temperatura (°C)'. You can override using
## the `.groups` argument.
Tabla %>%
group_by(`Temperatura (°C)`, `Sacarosa (%)`) %>%
summarise(Energia_media = mean(Energía)) %>%
ggplot() +
geom_line(aes(x = `Sacarosa (%)`, y = Energia_media,
group = `Temperatura (°C)`, color = `Temperatura (°C)`), size = 0.8) +
labs(y = "Energía (J/s)",
title = "Interacción entre Sacarosa y Temperatura sobre la Energía consumida",
caption = "Autor: Juan Camilo Mejía") +
theme_minimal()
## `summarise()` has grouped output by 'Temperatura (°C)'. You can override using
## the `.groups` argument.
library(agricolae)
modelo_abejas <- aov(Energía ~ Bloque + `Temperatura (°C)` * `Sacarosa (%)`, data = Tabla)
summary(modelo_abejas)
## Df Sum Sq Mean Sq F value Pr(>F)
## Bloque 2 4.13 2.06 2.716 0.096516 .
## `Temperatura (°C)` 2 293.16 146.58 192.879 6.33e-12 ***
## `Sacarosa (%)` 2 309.96 154.98 203.933 4.12e-12 ***
## `Temperatura (°C)`:`Sacarosa (%)` 4 27.13 6.78 8.925 0.000549 ***
## Residuals 16 12.16 0.76
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Se evalúan los efectos principales de la Temperatura (°C), la Sacarosa (%) y su interacción, junto con el efecto del Bloque.
Si los valores de p < 0.05, se concluye que el factor tiene un efecto significativo sobre la energía consumida por las abejas.
Normalmente, se espera que tanto Temperatura como Sacarosa influyan, y que su interacción sea significativa, lo que indica que el efecto de una variable depende del nivel de la otra.
El Bloque se incluye para controlar la variabilidad experimental no explicada (por ejemplo, diferencias entre colmenas o repeticiones).
duncan_abejas <- duncan.test(modelo_abejas, c("Temperatura (°C)", "Sacarosa (%)"), alpha = 0.05)
duncan_abejas$groups
## Energía groups
## 40:60 19.000000 a
## 30:60 16.000000 b
## 40:40 15.300000 b
## 30:40 12.600000 c
## 20:60 8.800000 d
## 40:20 8.500000 d
## 30:20 6.800000 e
## 20:40 6.500000 e
## 20:20 3.833333 f
La prueba de Duncan permite identificar cuáles combinaciones de Temperatura × Sacarosa presentan diferencias estadísticas significativas en el consumo de energía.
Los tratamientos con letras diferentes pertenecen a grupos estadísticamente distintos.
Generalmente, los tratamientos con mayor temperatura (40 °C) y mayor concentración de sacarosa (60 %) presentan valores más altos de energía, debido al aumento de la viscosidad y la demanda energética en la ingesta.
En cambio, las condiciones de baja temperatura y baja sacarosa suelen mostrar los valores más bajos.
bar.group(duncan_abejas$groups, ylim = c(0, 22),
xlab = "Tratamientos (Temperatura × Sacarosa)",
ylab = "Energía media (J/s)",
col = "steelblue")
El gráfico permite visualizar las diferencias de manera ordenada,
mostrando cómo las combinaciones de factores modifican el comportamiento
energético de las abejas.
La temperatura ambiente y la concentración de sacarosa afectan significativamente la energía consumida por las abejas durante la alimentación.
Se evidenció una interacción significativa entre ambos factores, lo que sugiere que el efecto de la sacarosa sobre la energía depende del nivel de temperatura ambiental.
Los niveles más altos de temperatura (40 °C) y de sacarosa (60 %) aumentaron el consumo energético, probablemente debido a la mayor viscosidad del líquido y la mayor exigencia metabólica.
El uso del diseño en bloques completos al azar (DBCA) permitió reducir la variabilidad experimental no controlada y obtener estimaciones más confiables.
En términos biológicos, estos resultados pueden orientar estrategias para optimizar la alimentación artificial o el manejo de colmenas bajo diferentes condiciones ambientales.