# Configurar un repositorio de CRAN
options(repos = c(CRAN = "https://cloud.r-project.org/"))
# Paquetes esenciales para un práctico de nivel inicial
packages <- c(
# Manejo de datos
"tidyverse", # incluye dplyr, ggplot2, tidyr, readr, purrr, etc.
"readxl", # para leer archivos de Excel
"janitor", # para limpiar nombres de columnas y tablas
"skimr", #la verdad no se que hace, pero me sale que las tablas de resumen son mas lindas y "verbosas" con estos, asi que....
# Estadística básica
"e1071", # para skewness y kurtosis
"psych", # para descriptivos y alfa de Cronbach
# Visualización
"ggplot2", # parte de tidyverse, pero lo listamos porque es clave
"ggpubr", # facilita gráficos estadísticos "bonitos"
"tinytex", #para generar el pdf
# Tablas y reportes
"knitr", # para mostrar resultados en RMarkdown
"kableExtra", # para embellecer tablas
# RMarkdown y presentación
"rmarkdown", # para generar informes
"xaringan" # para hacer presentaciones tipo PowerPoint
)
# Instalar si falta y cargar
install_if_missing <- function(pkg) {
if (!require(pkg, character.only = TRUE)) {
install.packages(pkg)
library(pkg, character.only = TRUE)
}
}
invisible(lapply(packages, install_if_missing))
## Cargando paquete requerido: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Cargando paquete requerido: readxl
##
## Cargando paquete requerido: janitor
##
##
## Adjuntando el paquete: 'janitor'
##
##
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
##
##
## Cargando paquete requerido: skimr
##
## Cargando paquete requerido: e1071
## Warning: package 'e1071' was built under R version 4.4.3
## Cargando paquete requerido: psych
## Warning: package 'psych' was built under R version 4.4.3
##
## Adjuntando el paquete: 'psych'
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
##
## Cargando paquete requerido: ggpubr
## Warning: package 'ggpubr' was built under R version 4.4.3
## Cargando paquete requerido: tinytex
## Cargando paquete requerido: knitr
## Cargando paquete requerido: kableExtra
##
## Adjuntando el paquete: 'kableExtra'
##
## The following object is masked from 'package:dplyr':
##
## group_rows
##
## Cargando paquete requerido: rmarkdown
## Cargando paquete requerido: xaringan
## Warning: package 'xaringan' was built under R version 4.4.3
installed.packages()[“e1071”, ]
En el integrador del segundo módulo se definieron seis variables relevantes para el análisis del crecimiento y la actividad enzimática de Ganoderma lucidum en medios con distintas fuentes de carbono y nitrógeno. Por razones experimentales, comenzamos con otra especie: Pleurotus ostreatus. Estas son:
En este práctico nos centraremos en generar las variables derivadas necesarias a partir de los datos originales.
Nota: Si bien se midieron dos diámetros por placa, los alumnos no registraron el número de placa correspondiente a cada medición. Por este motivo, se consideran 6 mediciones independientes por condición experimental (3 placas, 2 mediciones por placa) que no pueden vincularse con precisión a una misma unidad biológica. Así, cada fila en la tabla se considera una réplica individual.
library(tidyverse)
library(readxl)
library(writexl)
# Cargar datos desde Excel
datos <- read_excel("mediciones_pleurotus.xlsx")
head(datos)
# Asegurarnos de que 'Día' es numérico
datos <- datos %>%
mutate(Día = as.numeric(Día))
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `Día = as.numeric(Día)`.
## Caused by warning:
## ! NAs introducidos por coerción
datos <- datos %>%
rename(Radio_decoloracion_mm = Diámetro_decoloración_mm)
En microbiología, es común restar el tamaño del inóculo inicial al crecimiento observado. En este caso, el disco de inóculo tenía 8 mm de diámetro, por lo que se restan 4 mm al radio final para estimar el crecimiento efectivo.
datos <- datos %>%
mutate(Radio_corregido = (Diámetro_hongo_mm / 2) - 4)
head(datos)
La tasa de crecimiento radial (Kr) se calcula como el radio corregido dividido por el tiempo de cultivo (días).
datos <- datos %>%
mutate(Kr_mm_dia = Radio_corregido / Día)
head(datos)
Ahora usamos directamente el radio decolorado anotado, ya que no era un diámetro como se pensaba. Se compara el área decolorada con el área total de la placa (radio = 45 mm).
datos <- datos %>%
mutate(Porc_decoloracion = (Radio_decoloracion_mm^2 * pi) / (45^2 * pi) * 100)
head(datos)
La tasa de decoloración porcentual se obtiene dividiendo el porcentaje de decoloración por el tiempo de cultivo.
datos <- datos %>%
mutate(Tasa_decoloracion_pct_dia = Porc_decoloracion / Día)
head(datos)
write_xlsx(datos, "datos_procesados.xlsx")
Perfecto. A continuación te doy el fragmento en Markdown (.Rmd) que cumple con la consigna del práctico, explicando adecuadamente la selección de variables y generando un nuevo dataframe filtrado con los datos correspondientes al día 7. También se guarda un nuevo archivo Excel con esos datos.
Para continuar con el análisis, es necesario seleccionar una variable relevante que permita obtener información útil sobre el comportamiento de Pleurotus ostreatus en las condiciones estudiadas.
Hemos seleccionado como primera variable de interés el tamaño de la colonia al día 7, expresado como el diámetro del hongo en milímetros. Esta variable es de naturaleza cuantitativa continua y representa de forma directa el resultado del crecimiento del micelio en el medio de cultivo.
Justificación:
Como segunda variable complementaria, seleccionamos el porcentaje de decoloración del medio al día 7. Esta también es una variable cuantitativa continua, que sirve como un indicador indirecto de actividad enzimática, en particular de lacasas u otras enzimas oxidativas con capacidad de degradar colorantes.
Justificación:
A continuación filtramos el conjunto de datos para conservar solo las observaciones correspondientes al día 7, y mantenemos todas las variables calculadas por si quisiéramos retomar el análisis de tasas o radios más adelante.
# Crear nuevo dataframe con solo los datos del día 7
datos_dia7 <- datos %>%
filter(Día == 7)
# Mostrar primeras filas
head(datos_dia7)
Guardamos este nuevo dataframe como un segundo archivo Excel.
write_xlsx(datos_dia7, "datos_dia7.xlsx")
Este nuevo subconjunto de datos nos permitirá trabajar con un marco más acotado y coherente con las herramientas estadísticas disponibles, facilitando el análisis de diferencias entre condiciones experimentales.
Para este trabajo, seleccionamos dos herramientas de estadística descriptiva para analizar nuestras variables cuantitativas: el tamaño de colonia y el porcentaje de decoloración, ambos al día 7 de cultivo.
No se seleccionaron tablas de frecuencia, ya que estas resultan más útiles para variables categóricas o discretas. En nuestro caso, las variables son continuas, y los datos no se repiten, por lo que las frecuencias no aportan información relevante.
El siguiente gráfico muestra la distribución de tamaño de colonia al día 7 en cada tratamiento. Se utiliza un gráfico de violín combinado con boxplot para resaltar la forma de la distribución, la mediana, y la dispersión de los datos.
library(ggplot2)
ggplot(datos_dia7, aes(x = Medio, y = Diámetro_hongo_mm)) +
geom_violin(fill = "skyblue", alpha = 0.5) +
geom_boxplot(width = 0.1, outlier.color = "red") +
labs(title = "Distribución del tamaño de colonia al día 7",
x = "Tratamiento", y = "Diámetro de colonia (mm)") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Esto muestra claramente que la conposiciòn del medio de cultivo influye en el crecimiento de los hoingos medido al dia 7 de incubaciòn. POor lo tanto, evaluamos el porcentaje de decoloraciòn en las m,ismas condiciones.
library(ggplot2)
ggplot(datos_dia7, aes(x = Medio, y = Porc_decoloracion)) +
geom_violin(fill = "skyblue", alpha = 0.5) +
geom_boxplot(width = 0.1, outlier.color = "red") +
labs(title = "Distribución del porcentaje de decoloración al día 7",
x = "Tratamiento", y = "Porcentaje de decoloración") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Nuevamente, demostrando un gran efecto de la composiciòn del medio sobre el porcentaje de decoloraciòn medido al 7mo día.
Con solo 6 valores de cada medio de cultivo, los histogramas no resultan demasiado informativos si se hacen facetados
datos_dia7 %>%
filter(str_detect(Medio, "Glucosa|Rafinosa|Maltosa|Sacarosa|Glicerol")) %>%
ggplot(aes(x = Diámetro_hongo_mm, fill = Medio)) +
geom_histogram(bins = 10, alpha = 0.6, position = "identity") +
facet_wrap(~ Medio) +
labs(title = "Histogramas del diámetro de colonia (día 7)",
x = "Diámetro (mm)", y = "Frecuencia") +
theme_minimal()
Por lo tanto se analizó el total de los datos para ver como se comporta esta variable.
# Análisis completo de todas las variables
datos_dia7 %>%
select(Diámetro_hongo_mm, Radio_decoloracion_mm, Radio_corregido, Kr_mm_dia, Porc_decoloracion, Tasa_decoloracion_pct_dia) %>%
skimr::skim()
| Name | Piped data |
| Number of rows | 126 |
| Number of columns | 6 |
| _______________________ | |
| Column type frequency: | |
| numeric | 6 |
| ________________________ | |
| Group variables | None |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| Diámetro_hongo_mm | 0 | 1 | 59.29 | 16.80 | 28.00 | 44.25 | 60.00 | 72.00 | 90.00 | ▅▆▇▅▆ |
| Radio_decoloracion_mm | 0 | 1 | 27.06 | 8.93 | 10.00 | 21.25 | 27.00 | 35.00 | 43.00 | ▅▂▆▇▃ |
| Radio_corregido | 0 | 1 | 25.64 | 8.40 | 10.00 | 18.12 | 26.00 | 32.00 | 41.00 | ▅▆▇▅▆ |
| Kr_mm_dia | 0 | 1 | 3.66 | 1.20 | 1.43 | 2.59 | 3.71 | 4.57 | 5.86 | ▅▆▇▅▆ |
| Porc_decoloracion | 0 | 1 | 40.07 | 23.15 | 4.94 | 22.31 | 36.00 | 60.49 | 91.31 | ▇▇▆▆▃ |
| Tasa_decoloracion_pct_dia | 0 | 1 | 5.72 | 3.31 | 0.71 | 3.19 | 5.14 | 8.64 | 13.04 | ▇▇▆▆▃ |
# Análisis facetado por tratamiento
datos_dia7 %>%
select(Diámetro_hongo_mm, Radio_decoloracion_mm, Radio_corregido, Kr_mm_dia, Porc_decoloracion, Tasa_decoloracion_pct_dia, Medio) %>%
group_by(Medio) %>%
skimr::skim()
| Name | Piped data |
| Number of rows | 126 |
| Number of columns | 7 |
| _______________________ | |
| Column type frequency: | |
| numeric | 6 |
| ________________________ | |
| Group variables | Medio |
Variable type: numeric
| skim_variable | Medio | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Diámetro_hongo_mm | Glicerol (control) | 0 | 1 | 51.17 | 4.45 | 45.00 | 47.75 | 53.50 | 54.00 | 55.00 | ▅▁▁▂▇ |
| Diámetro_hongo_mm | Glicerol + Peptona | 0 | 1 | 70.50 | 0.84 | 70.00 | 70.00 | 70.00 | 70.75 | 72.00 | ▇▁▂▁▂ |
| Diámetro_hongo_mm | Glicerol + Sulfato de amonio | 0 | 1 | 30.17 | 1.60 | 28.00 | 29.25 | 30.00 | 31.50 | 32.00 | ▃▃▇▁▇ |
| Diámetro_hongo_mm | Glicerol crudo (control) | 0 | 1 | 57.50 | 0.55 | 57.00 | 57.00 | 57.50 | 58.00 | 58.00 | ▇▁▁▁▇ |
| Diámetro_hongo_mm | Glicerol crudo + Peptona | 0 | 1 | 65.83 | 4.31 | 58.00 | 64.75 | 67.50 | 68.00 | 70.00 | ▂▁▂▂▇ |
| Diámetro_hongo_mm | Glicerol crudo + Sulfato de amonio | 0 | 1 | 40.17 | 1.60 | 38.00 | 39.25 | 40.00 | 41.50 | 42.00 | ▃▃▇▁▇ |
| Diámetro_hongo_mm | Glucosa (control) | 0 | 1 | 34.33 | 1.37 | 32.00 | 34.00 | 34.50 | 35.00 | 36.00 | ▃▁▇▇▃ |
| Diámetro_hongo_mm | Glucosa + Peptona | 0 | 1 | 77.00 | 2.76 | 74.00 | 74.50 | 77.00 | 79.50 | 80.00 | ▇▃▁▃▇ |
| Diámetro_hongo_mm | Glucosa + Sulfato de amonio | 0 | 1 | 42.83 | 2.14 | 40.00 | 41.50 | 43.00 | 43.75 | 46.00 | ▇▁▇▃▃ |
| Diámetro_hongo_mm | Maltosa (control) | 0 | 1 | 66.00 | 1.55 | 65.00 | 65.00 | 65.00 | 67.25 | 68.00 | ▇▁▁▁▃ |
| Diámetro_hongo_mm | Maltosa + Peptona | 0 | 1 | 80.33 | 0.82 | 80.00 | 80.00 | 80.00 | 80.00 | 82.00 | ▇▁▁▁▂ |
| Diámetro_hongo_mm | Maltosa + Sulfato de amonio | 0 | 1 | 42.50 | 2.51 | 40.00 | 40.50 | 42.00 | 44.25 | 46.00 | ▇▇▁▁▇ |
| Diámetro_hongo_mm | Negro Reactivo 5 (control) | 0 | 1 | 71.33 | 0.52 | 71.00 | 71.00 | 71.00 | 71.75 | 72.00 | ▇▁▁▁▃ |
| Diámetro_hongo_mm | Peptona (control) | 0 | 1 | 80.83 | 0.98 | 80.00 | 80.00 | 80.50 | 81.75 | 82.00 | ▇▁▂▁▅ |
| Diámetro_hongo_mm | Rafinosa (control) | 0 | 1 | 62.00 | 2.45 | 60.00 | 60.00 | 61.00 | 64.25 | 65.00 | ▇▂▁▁▅ |
| Diámetro_hongo_mm | Rafinosa + Peptona | 0 | 1 | 80.33 | 0.82 | 80.00 | 80.00 | 80.00 | 80.00 | 82.00 | ▇▁▁▁▂ |
| Diámetro_hongo_mm | Rafinosa + Sulfato de amonio | 0 | 1 | 60.67 | 0.82 | 60.00 | 60.00 | 60.50 | 61.00 | 62.00 | ▇▁▅▁▂ |
| Diámetro_hongo_mm | Sacarosa (control) | 0 | 1 | 44.17 | 0.98 | 43.00 | 43.25 | 44.50 | 45.00 | 45.00 | ▅▁▂▁▇ |
| Diámetro_hongo_mm | Sacarosa + Peptona | 0 | 1 | 88.67 | 1.51 | 86.00 | 88.25 | 89.00 | 89.75 | 90.00 | ▃▁▃▇▇ |
| Diámetro_hongo_mm | Sacarosa + Sulfato de amonio | 0 | 1 | 45.67 | 1.63 | 44.00 | 44.25 | 45.50 | 46.75 | 48.00 | ▇▃▃▃▃ |
| Diámetro_hongo_mm | Sulfato de amonio (control) | 0 | 1 | 53.00 | 1.26 | 51.00 | 53.00 | 53.00 | 53.00 | 55.00 | ▂▁▇▁▂ |
| Radio_decoloracion_mm | Glicerol (control) | 0 | 1 | 24.83 | 1.17 | 23.00 | 24.25 | 25.00 | 25.75 | 26.00 | ▃▃▁▇▇ |
| Radio_decoloracion_mm | Glicerol + Peptona | 0 | 1 | 32.33 | 1.03 | 31.00 | 32.00 | 32.00 | 32.75 | 34.00 | ▂▇▁▂▂ |
| Radio_decoloracion_mm | Glicerol + Sulfato de amonio | 0 | 1 | 10.83 | 0.75 | 10.00 | 10.25 | 11.00 | 11.00 | 12.00 | ▅▁▇▁▂ |
| Radio_decoloracion_mm | Glicerol crudo (control) | 0 | 1 | 26.33 | 1.86 | 24.00 | 25.25 | 26.00 | 27.50 | 29.00 | ▇▇▁▃▃ |
| Radio_decoloracion_mm | Glicerol crudo + Peptona | 0 | 1 | 32.67 | 0.52 | 32.00 | 32.25 | 33.00 | 33.00 | 33.00 | ▃▁▁▁▇ |
| Radio_decoloracion_mm | Glicerol crudo + Sulfato de amonio | 0 | 1 | 15.50 | 0.55 | 15.00 | 15.00 | 15.50 | 16.00 | 16.00 | ▇▁▁▁▇ |
| Radio_decoloracion_mm | Glucosa (control) | 0 | 1 | 14.83 | 1.17 | 13.00 | 14.25 | 15.00 | 15.75 | 16.00 | ▃▃▁▇▇ |
| Radio_decoloracion_mm | Glucosa + Peptona | 0 | 1 | 36.50 | 1.22 | 35.00 | 35.50 | 37.00 | 37.00 | 38.00 | ▅▁▁▇▂ |
| Radio_decoloracion_mm | Glucosa + Sulfato de amonio | 0 | 1 | 41.33 | 1.51 | 40.00 | 40.00 | 41.00 | 42.75 | 43.00 | ▇▁▁▂▅ |
| Radio_decoloracion_mm | Maltosa (control) | 0 | 1 | 30.33 | 0.52 | 30.00 | 30.00 | 30.00 | 30.75 | 31.00 | ▇▁▁▁▃ |
| Radio_decoloracion_mm | Maltosa + Peptona | 0 | 1 | 36.17 | 1.94 | 34.00 | 35.00 | 35.50 | 37.50 | 39.00 | ▇▂▁▂▂ |
| Radio_decoloracion_mm | Maltosa + Sulfato de amonio | 0 | 1 | 17.50 | 1.64 | 15.00 | 16.50 | 18.00 | 18.75 | 19.00 | ▃▃▁▇▇ |
| Radio_decoloracion_mm | Negro Reactivo 5 (control) | 0 | 1 | 29.67 | 0.52 | 29.00 | 29.25 | 30.00 | 30.00 | 30.00 | ▃▁▁▁▇ |
| Radio_decoloracion_mm | Peptona (control) | 0 | 1 | 39.83 | 0.75 | 39.00 | 39.25 | 40.00 | 40.00 | 41.00 | ▅▁▇▁▂ |
| Radio_decoloracion_mm | Rafinosa (control) | 0 | 1 | 25.33 | 1.51 | 24.00 | 24.00 | 25.00 | 26.75 | 27.00 | ▇▁▁▂▅ |
| Radio_decoloracion_mm | Rafinosa + Peptona | 0 | 1 | 35.17 | 0.41 | 35.00 | 35.00 | 35.00 | 35.00 | 36.00 | ▇▁▁▁▂ |
| Radio_decoloracion_mm | Rafinosa + Sulfato de amonio | 0 | 1 | 24.67 | 0.52 | 24.00 | 24.25 | 25.00 | 25.00 | 25.00 | ▃▁▁▁▇ |
| Radio_decoloracion_mm | Sacarosa (control) | 0 | 1 | 25.00 | 0.63 | 24.00 | 25.00 | 25.00 | 25.00 | 26.00 | ▂▁▇▁▂ |
| Radio_decoloracion_mm | Sacarosa + Peptona | 0 | 1 | 34.83 | 0.75 | 34.00 | 34.25 | 35.00 | 35.00 | 36.00 | ▅▁▇▁▂ |
| Radio_decoloracion_mm | Sacarosa + Sulfato de amonio | 0 | 1 | 12.33 | 1.21 | 11.00 | 11.25 | 12.50 | 13.00 | 14.00 | ▇▃▁▇▃ |
| Radio_decoloracion_mm | Sulfato de amonio (control) | 0 | 1 | 22.33 | 1.51 | 21.00 | 21.25 | 22.00 | 22.75 | 25.00 | ▇▇▃▁▃ |
| Radio_corregido | Glicerol (control) | 0 | 1 | 21.58 | 2.22 | 18.50 | 19.88 | 22.75 | 23.00 | 23.50 | ▅▁▁▂▇ |
| Radio_corregido | Glicerol + Peptona | 0 | 1 | 31.25 | 0.42 | 31.00 | 31.00 | 31.00 | 31.38 | 32.00 | ▇▁▂▁▂ |
| Radio_corregido | Glicerol + Sulfato de amonio | 0 | 1 | 11.08 | 0.80 | 10.00 | 10.62 | 11.00 | 11.75 | 12.00 | ▃▃▇▁▇ |
| Radio_corregido | Glicerol crudo (control) | 0 | 1 | 24.75 | 0.27 | 24.50 | 24.50 | 24.75 | 25.00 | 25.00 | ▇▁▁▁▇ |
| Radio_corregido | Glicerol crudo + Peptona | 0 | 1 | 28.92 | 2.15 | 25.00 | 28.38 | 29.75 | 30.00 | 31.00 | ▂▁▂▂▇ |
| Radio_corregido | Glicerol crudo + Sulfato de amonio | 0 | 1 | 16.08 | 0.80 | 15.00 | 15.62 | 16.00 | 16.75 | 17.00 | ▃▃▇▁▇ |
| Radio_corregido | Glucosa (control) | 0 | 1 | 13.17 | 0.68 | 12.00 | 13.00 | 13.25 | 13.50 | 14.00 | ▃▁▇▇▃ |
| Radio_corregido | Glucosa + Peptona | 0 | 1 | 34.50 | 1.38 | 33.00 | 33.25 | 34.50 | 35.75 | 36.00 | ▇▃▁▃▇ |
| Radio_corregido | Glucosa + Sulfato de amonio | 0 | 1 | 17.42 | 1.07 | 16.00 | 16.75 | 17.50 | 17.88 | 19.00 | ▇▁▇▃▃ |
| Radio_corregido | Maltosa (control) | 0 | 1 | 29.00 | 0.77 | 28.50 | 28.50 | 28.50 | 29.62 | 30.00 | ▇▁▁▁▃ |
| Radio_corregido | Maltosa + Peptona | 0 | 1 | 36.17 | 0.41 | 36.00 | 36.00 | 36.00 | 36.00 | 37.00 | ▇▁▁▁▂ |
| Radio_corregido | Maltosa + Sulfato de amonio | 0 | 1 | 17.25 | 1.25 | 16.00 | 16.25 | 17.00 | 18.12 | 19.00 | ▇▇▁▁▇ |
| Radio_corregido | Negro Reactivo 5 (control) | 0 | 1 | 31.67 | 0.26 | 31.50 | 31.50 | 31.50 | 31.88 | 32.00 | ▇▁▁▁▃ |
| Radio_corregido | Peptona (control) | 0 | 1 | 36.42 | 0.49 | 36.00 | 36.00 | 36.25 | 36.88 | 37.00 | ▇▁▂▁▅ |
| Radio_corregido | Rafinosa (control) | 0 | 1 | 27.00 | 1.22 | 26.00 | 26.00 | 26.50 | 28.12 | 28.50 | ▇▂▁▁▅ |
| Radio_corregido | Rafinosa + Peptona | 0 | 1 | 36.17 | 0.41 | 36.00 | 36.00 | 36.00 | 36.00 | 37.00 | ▇▁▁▁▂ |
| Radio_corregido | Rafinosa + Sulfato de amonio | 0 | 1 | 26.33 | 0.41 | 26.00 | 26.00 | 26.25 | 26.50 | 27.00 | ▇▁▅▁▂ |
| Radio_corregido | Sacarosa (control) | 0 | 1 | 18.08 | 0.49 | 17.50 | 17.62 | 18.25 | 18.50 | 18.50 | ▅▁▂▁▇ |
| Radio_corregido | Sacarosa + Peptona | 0 | 1 | 40.33 | 0.75 | 39.00 | 40.12 | 40.50 | 40.88 | 41.00 | ▃▁▃▇▇ |
| Radio_corregido | Sacarosa + Sulfato de amonio | 0 | 1 | 18.83 | 0.82 | 18.00 | 18.12 | 18.75 | 19.38 | 20.00 | ▇▃▃▃▃ |
| Radio_corregido | Sulfato de amonio (control) | 0 | 1 | 22.50 | 0.63 | 21.50 | 22.50 | 22.50 | 22.50 | 23.50 | ▂▁▇▁▂ |
| Kr_mm_dia | Glicerol (control) | 0 | 1 | 3.08 | 0.32 | 2.64 | 2.84 | 3.25 | 3.29 | 3.36 | ▅▁▁▂▇ |
| Kr_mm_dia | Glicerol + Peptona | 0 | 1 | 4.46 | 0.06 | 4.43 | 4.43 | 4.43 | 4.48 | 4.57 | ▇▁▂▁▂ |
| Kr_mm_dia | Glicerol + Sulfato de amonio | 0 | 1 | 1.58 | 0.11 | 1.43 | 1.52 | 1.57 | 1.68 | 1.71 | ▃▃▇▁▇ |
| Kr_mm_dia | Glicerol crudo (control) | 0 | 1 | 3.54 | 0.04 | 3.50 | 3.50 | 3.54 | 3.57 | 3.57 | ▇▁▁▁▇ |
| Kr_mm_dia | Glicerol crudo + Peptona | 0 | 1 | 4.13 | 0.31 | 3.57 | 4.05 | 4.25 | 4.29 | 4.43 | ▂▁▂▂▇ |
| Kr_mm_dia | Glicerol crudo + Sulfato de amonio | 0 | 1 | 2.30 | 0.11 | 2.14 | 2.23 | 2.29 | 2.39 | 2.43 | ▃▃▇▁▇ |
| Kr_mm_dia | Glucosa (control) | 0 | 1 | 1.88 | 0.10 | 1.71 | 1.86 | 1.89 | 1.93 | 2.00 | ▃▁▇▇▃ |
| Kr_mm_dia | Glucosa + Peptona | 0 | 1 | 4.93 | 0.20 | 4.71 | 4.75 | 4.93 | 5.11 | 5.14 | ▇▃▁▃▇ |
| Kr_mm_dia | Glucosa + Sulfato de amonio | 0 | 1 | 2.49 | 0.15 | 2.29 | 2.39 | 2.50 | 2.55 | 2.71 | ▇▁▇▃▃ |
| Kr_mm_dia | Maltosa (control) | 0 | 1 | 4.14 | 0.11 | 4.07 | 4.07 | 4.07 | 4.23 | 4.29 | ▇▁▁▁▃ |
| Kr_mm_dia | Maltosa + Peptona | 0 | 1 | 5.17 | 0.06 | 5.14 | 5.14 | 5.14 | 5.14 | 5.29 | ▇▁▁▁▂ |
| Kr_mm_dia | Maltosa + Sulfato de amonio | 0 | 1 | 2.46 | 0.18 | 2.29 | 2.32 | 2.43 | 2.59 | 2.71 | ▇▇▁▁▇ |
| Kr_mm_dia | Negro Reactivo 5 (control) | 0 | 1 | 4.52 | 0.04 | 4.50 | 4.50 | 4.50 | 4.55 | 4.57 | ▇▁▁▁▃ |
| Kr_mm_dia | Peptona (control) | 0 | 1 | 5.20 | 0.07 | 5.14 | 5.14 | 5.18 | 5.27 | 5.29 | ▇▁▂▁▅ |
| Kr_mm_dia | Rafinosa (control) | 0 | 1 | 3.86 | 0.17 | 3.71 | 3.71 | 3.79 | 4.02 | 4.07 | ▇▂▁▁▅ |
| Kr_mm_dia | Rafinosa + Peptona | 0 | 1 | 5.17 | 0.06 | 5.14 | 5.14 | 5.14 | 5.14 | 5.29 | ▇▁▁▁▂ |
| Kr_mm_dia | Rafinosa + Sulfato de amonio | 0 | 1 | 3.76 | 0.06 | 3.71 | 3.71 | 3.75 | 3.79 | 3.86 | ▇▁▅▁▂ |
| Kr_mm_dia | Sacarosa (control) | 0 | 1 | 2.58 | 0.07 | 2.50 | 2.52 | 2.61 | 2.64 | 2.64 | ▅▁▂▁▇ |
| Kr_mm_dia | Sacarosa + Peptona | 0 | 1 | 5.76 | 0.11 | 5.57 | 5.73 | 5.79 | 5.84 | 5.86 | ▃▁▃▇▇ |
| Kr_mm_dia | Sacarosa + Sulfato de amonio | 0 | 1 | 2.69 | 0.12 | 2.57 | 2.59 | 2.68 | 2.77 | 2.86 | ▇▃▃▃▃ |
| Kr_mm_dia | Sulfato de amonio (control) | 0 | 1 | 3.21 | 0.09 | 3.07 | 3.21 | 3.21 | 3.21 | 3.36 | ▂▁▇▁▂ |
| Porc_decoloracion | Glicerol (control) | 0 | 1 | 30.51 | 2.84 | 26.12 | 29.05 | 30.86 | 32.75 | 33.38 | ▃▃▁▇▇ |
| Porc_decoloracion | Glicerol + Peptona | 0 | 1 | 51.67 | 3.32 | 47.46 | 50.57 | 50.57 | 52.98 | 57.09 | ▂▇▁▂▂ |
| Porc_decoloracion | Glicerol + Sulfato de amonio | 0 | 1 | 5.82 | 0.81 | 4.94 | 5.20 | 5.98 | 5.98 | 7.11 | ▅▁▇▁▂ |
| Porc_decoloracion | Glicerol crudo (control) | 0 | 1 | 34.39 | 4.89 | 28.44 | 31.49 | 33.38 | 37.38 | 41.53 | ▇▇▁▃▃ |
| Porc_decoloracion | Glicerol crudo + Peptona | 0 | 1 | 52.71 | 1.66 | 50.57 | 51.37 | 53.78 | 53.78 | 53.78 | ▃▁▁▁▇ |
| Porc_decoloracion | Glicerol crudo + Sulfato de amonio | 0 | 1 | 11.88 | 0.84 | 11.11 | 11.11 | 11.88 | 12.64 | 12.64 | ▇▁▁▁▇ |
| Porc_decoloracion | Glucosa (control) | 0 | 1 | 10.92 | 1.68 | 8.35 | 10.04 | 11.11 | 12.26 | 12.64 | ▃▃▁▇▇ |
| Porc_decoloracion | Glucosa + Peptona | 0 | 1 | 65.85 | 4.39 | 60.49 | 62.27 | 67.60 | 67.60 | 71.31 | ▅▁▁▇▂ |
| Porc_decoloracion | Glucosa + Sulfato de amonio | 0 | 1 | 84.46 | 6.16 | 79.01 | 79.01 | 83.06 | 90.26 | 91.31 | ▇▁▁▂▅ |
| Porc_decoloracion | Maltosa (control) | 0 | 1 | 45.45 | 1.56 | 44.44 | 44.44 | 44.44 | 46.70 | 47.46 | ▇▁▁▁▃ |
| Porc_decoloracion | Maltosa + Peptona | 0 | 1 | 64.75 | 7.01 | 57.09 | 60.49 | 62.25 | 69.48 | 75.11 | ▇▂▁▂▂ |
| Porc_decoloracion | Maltosa + Sulfato de amonio | 0 | 1 | 15.23 | 2.77 | 11.11 | 13.48 | 16.00 | 17.37 | 17.83 | ▃▃▁▇▇ |
| Porc_decoloracion | Negro Reactivo 5 (control) | 0 | 1 | 43.47 | 1.50 | 41.53 | 42.26 | 44.44 | 44.44 | 44.44 | ▃▁▁▁▇ |
| Porc_decoloracion | Peptona (control) | 0 | 1 | 78.38 | 2.97 | 75.11 | 76.09 | 79.01 | 79.01 | 83.01 | ▅▁▇▁▂ |
| Porc_decoloracion | Rafinosa (control) | 0 | 1 | 31.79 | 3.78 | 28.44 | 28.44 | 30.91 | 35.35 | 36.00 | ▇▁▁▂▅ |
| Porc_decoloracion | Rafinosa + Peptona | 0 | 1 | 61.08 | 1.43 | 60.49 | 60.49 | 60.49 | 60.49 | 64.00 | ▇▁▁▁▂ |
| Porc_decoloracion | Rafinosa + Sulfato de amonio | 0 | 1 | 30.06 | 1.25 | 28.44 | 29.05 | 30.86 | 30.86 | 30.86 | ▃▁▁▁▇ |
| Porc_decoloracion | Sacarosa (control) | 0 | 1 | 30.88 | 1.56 | 28.44 | 30.86 | 30.86 | 30.86 | 33.38 | ▂▁▇▁▂ |
| Porc_decoloracion | Sacarosa + Peptona | 0 | 1 | 59.94 | 2.60 | 57.09 | 57.94 | 60.49 | 60.49 | 64.00 | ▅▁▇▁▂ |
| Porc_decoloracion | Sacarosa + Sulfato de amonio | 0 | 1 | 7.57 | 1.48 | 5.98 | 6.26 | 7.73 | 8.35 | 9.68 | ▇▃▁▇▃ |
| Porc_decoloracion | Sulfato de amonio (control) | 0 | 1 | 24.72 | 3.42 | 21.78 | 22.31 | 23.90 | 25.57 | 30.86 | ▇▇▃▁▃ |
| Tasa_decoloracion_pct_dia | Glicerol (control) | 0 | 1 | 4.36 | 0.41 | 3.73 | 4.15 | 4.41 | 4.68 | 4.77 | ▃▃▁▇▇ |
| Tasa_decoloracion_pct_dia | Glicerol + Peptona | 0 | 1 | 7.38 | 0.47 | 6.78 | 7.22 | 7.22 | 7.57 | 8.16 | ▂▇▁▂▂ |
| Tasa_decoloracion_pct_dia | Glicerol + Sulfato de amonio | 0 | 1 | 0.83 | 0.12 | 0.71 | 0.74 | 0.85 | 0.85 | 1.02 | ▅▁▇▁▂ |
| Tasa_decoloracion_pct_dia | Glicerol crudo (control) | 0 | 1 | 4.91 | 0.70 | 4.06 | 4.50 | 4.77 | 5.34 | 5.93 | ▇▇▁▃▃ |
| Tasa_decoloracion_pct_dia | Glicerol crudo + Peptona | 0 | 1 | 7.53 | 0.24 | 7.22 | 7.34 | 7.68 | 7.68 | 7.68 | ▃▁▁▁▇ |
| Tasa_decoloracion_pct_dia | Glicerol crudo + Sulfato de amonio | 0 | 1 | 1.70 | 0.12 | 1.59 | 1.59 | 1.70 | 1.81 | 1.81 | ▇▁▁▁▇ |
| Tasa_decoloracion_pct_dia | Glucosa (control) | 0 | 1 | 1.56 | 0.24 | 1.19 | 1.43 | 1.59 | 1.75 | 1.81 | ▃▃▁▇▇ |
| Tasa_decoloracion_pct_dia | Glucosa + Peptona | 0 | 1 | 9.41 | 0.63 | 8.64 | 8.90 | 9.66 | 9.66 | 10.19 | ▅▁▁▇▂ |
| Tasa_decoloracion_pct_dia | Glucosa + Sulfato de amonio | 0 | 1 | 12.07 | 0.88 | 11.29 | 11.29 | 11.87 | 12.89 | 13.04 | ▇▁▁▂▅ |
| Tasa_decoloracion_pct_dia | Maltosa (control) | 0 | 1 | 6.49 | 0.22 | 6.35 | 6.35 | 6.35 | 6.67 | 6.78 | ▇▁▁▁▃ |
| Tasa_decoloracion_pct_dia | Maltosa + Peptona | 0 | 1 | 9.25 | 1.00 | 8.16 | 8.64 | 8.89 | 9.93 | 10.73 | ▇▂▁▂▂ |
| Tasa_decoloracion_pct_dia | Maltosa + Sulfato de amonio | 0 | 1 | 2.18 | 0.40 | 1.59 | 1.93 | 2.29 | 2.48 | 2.55 | ▃▃▁▇▇ |
| Tasa_decoloracion_pct_dia | Negro Reactivo 5 (control) | 0 | 1 | 6.21 | 0.21 | 5.93 | 6.04 | 6.35 | 6.35 | 6.35 | ▃▁▁▁▇ |
| Tasa_decoloracion_pct_dia | Peptona (control) | 0 | 1 | 11.20 | 0.42 | 10.73 | 10.87 | 11.29 | 11.29 | 11.86 | ▅▁▇▁▂ |
| Tasa_decoloracion_pct_dia | Rafinosa (control) | 0 | 1 | 4.54 | 0.54 | 4.06 | 4.06 | 4.42 | 5.05 | 5.14 | ▇▁▁▂▅ |
| Tasa_decoloracion_pct_dia | Rafinosa + Peptona | 0 | 1 | 8.73 | 0.20 | 8.64 | 8.64 | 8.64 | 8.64 | 9.14 | ▇▁▁▁▂ |
| Tasa_decoloracion_pct_dia | Rafinosa + Sulfato de amonio | 0 | 1 | 4.29 | 0.18 | 4.06 | 4.15 | 4.41 | 4.41 | 4.41 | ▃▁▁▁▇ |
| Tasa_decoloracion_pct_dia | Sacarosa (control) | 0 | 1 | 4.41 | 0.22 | 4.06 | 4.41 | 4.41 | 4.41 | 4.77 | ▂▁▇▁▂ |
| Tasa_decoloracion_pct_dia | Sacarosa + Peptona | 0 | 1 | 8.56 | 0.37 | 8.16 | 8.28 | 8.64 | 8.64 | 9.14 | ▅▁▇▁▂ |
| Tasa_decoloracion_pct_dia | Sacarosa + Sulfato de amonio | 0 | 1 | 1.08 | 0.21 | 0.85 | 0.89 | 1.10 | 1.19 | 1.38 | ▇▃▁▇▃ |
| Tasa_decoloracion_pct_dia | Sulfato de amonio (control) | 0 | 1 | 3.53 | 0.49 | 3.11 | 3.19 | 3.41 | 3.65 | 4.41 | ▇▇▃▁▃ |
Me faltan las medidas de kurtosis y asimetria:
# Ajustar opciones para mostrar todas las columnas
options(tibble.width = Inf)
# Generar el resumen
datos_dia7 %>%
select(Diámetro_hongo_mm, Radio_decoloracion_mm, Radio_corregido, Kr_mm_dia, Porc_decoloracion, Tasa_decoloracion_pct_dia, Medio) %>%
group_by(Medio) %>%
summarise(
kurtosis_Dia = kurtosis(Diámetro_hongo_mm, na.rm = TRUE),
skewness_Dia = skewness(Diámetro_hongo_mm, na.rm = TRUE),
kurtosis_Radio_decoloracion = kurtosis(Radio_decoloracion_mm, na.rm = TRUE),
skewness_Radio_decoloracion = skewness(Radio_decoloracion_mm, na.rm = TRUE),
kurtosis_Radio_corregido = kurtosis(Radio_corregido, na.rm = TRUE),
skewness_Radio_corregido = skewness(Radio_corregido, na.rm = TRUE),
kurtosis_Kr = kurtosis(Kr_mm_dia, na.rm = TRUE),
skewness_Kr = skewness(Kr_mm_dia, na.rm = TRUE),
kurtosis_Porc_decoloracion = kurtosis(Porc_decoloracion, na.rm = TRUE),
skewness_Porc_decoloracion = skewness(Porc_decoloracion, na.rm = TRUE),
kurtosis_Tasa_decoloracion = kurtosis(Tasa_decoloracion_pct_dia, na.rm = TRUE),
skewness_Tasa_decoloracion = skewness(Tasa_decoloracion_pct_dia, na.rm = TRUE)
)
A continuaciuón se agregan medidas no paramétricas, para completar la descricpcion de los resultados:
# Estadísticas para el crecimiento del hongo
estadisticas_crecimiento <- datos_dia7 %>%
group_by(Medio) %>%
summarise(
media_Diametro = mean(Diámetro_hongo_mm, na.rm = TRUE),
mediana_Diametro = median(Diámetro_hongo_mm, na.rm = TRUE),
IQR_Diametro = IQR(Diámetro_hongo_mm, na.rm = TRUE),
sd_Diametro = sd(Diámetro_hongo_mm, na.rm = TRUE),
min_Diametro = min(Diámetro_hongo_mm, na.rm = TRUE),
max_Diametro = max(Diámetro_hongo_mm, na.rm = TRUE),
moda_Diametro = tryCatch(
mfv(Diámetro_hongo_mm, na_rm = TRUE)[1],
error = function(e) NA_real_
)
)
# Mostrar resultados
estadisticas_crecimiento
Y para decoloraciòn:
# Resumen detallado por medio
resumen_completo <- datos_dia7 %>%
group_by(Medio) %>%
skim()
# Estadísticas adicionales personalizadas
estadisticas_extra <- datos_dia7 %>%
group_by(Medio) %>%
summarise(
media_Tasa = mean(Tasa_decoloracion_pct_dia, na.rm = TRUE),
mediana_Tasa = median(Tasa_decoloracion_pct_dia, na.rm = TRUE),
IQR_Tasa = IQR(Tasa_decoloracion_pct_dia, na.rm = TRUE),
sd_Tasa = sd(Tasa_decoloracion_pct_dia, na.rm = TRUE),
min_Tasa = min(Tasa_decoloracion_pct_dia, na.rm = TRUE),
max_Tasa = max(Tasa_decoloracion_pct_dia, na.rm = TRUE),
moda_Tasa = tryCatch(
mfv(Tasa_decoloracion_pct_dia, na_rm = TRUE)[1],
error = function(e) NA_real_
)
)
# Ver resultado
estadisticas_extra
A pesar de haber contado con seis réplicas por tratamiento, la cantidad de datos disponibles por grupo no resulta suficiente para aplicar con robustez todas las herramientas de estadística descriptiva, especialmente aquellas que requieren mayor tamaño muestral para la evaluación de normalidad o simetría de la distribución. Sin embargo, los gráficos de caja combinados con violines permiten visualizar con claridad que la composición del medio de cultivo influye de manera notable tanto en el crecimiento de Pleurotus ostreatus como en su capacidad decolorante.
Además, al analizar ambas variables en conjunto, no se observa una relación directa entre crecimiento y decoloración, lo que sugiere que pueden estar moduladas por mecanismos fisiológicos distintos o afectados diferencialmente por los componentes del medio. Este hallazgo es relevante en el contexto biotecnológico, ya que un medio que favorezca el crecimiento no necesariamente optimizará la actividad enzimática asociada a la decoloración.
El análisis general de las variables mediante medidas de tendencia central y dispersión (media, desviación estándar, mediana e IQR) revela distribuciones con alta variabilidad: por ejemplo, el diámetro de las colonias al día 7 presentó una media de 59.3 mm con una desviación estándar de 16.8 mm, mientras que el porcentaje de decoloración mostró una media de 40.1% y un desvío de 21.1%. Estas cifras reflejan el amplio rango de respuestas biológicas entre tratamientos, lo cual es consistente con los resultados observados gráficamente.
Por otra parte, los valores de kurtosis y asimetría (skewness) obtenidos para cada medio y variable muestran desviaciones importantes respecto a una distribución normal, indicando que los datos presentan colas más cortas (kurtosis negativa) y asimetrías leves o moderadas. Este patrón sugiere que, si se quisiera avanzar en el análisis inferencial, sería necesario aplicar pruebas no paramétricas o verificar los supuestos de normalidad previamente.
El uso de la función skim() permitió obtener una
descripción resumida pero completa de cada variable por tratamiento,
incluyendo los principales parámetros estadísticos. Este análisis se
complementó con una tabla adicional que incorpora mediana, rango
intercuartílico (IQR) y moda, brindando una visión más robusta de la
distribución de la variable Tasa de Decoloración por día.
En resumen, los resultados obtenidos evidencian una clara influencia de los tratamientos sobre el comportamiento de Pleurotus ostreatus. La peptona, como fuente de nitrógeno orgánico, tiende a favorecer tanto el crecimiento micelial como la decoloración del medio, mientras que el sulfato de amonio (fuente inorgánica) mostró efectos más limitantes.
Cabe destacar que las variables utilizadas en este análisis fueron definidas durante el Módulo 2 del curso, en el marco del diseño experimental, y que las diferencias observadas entre tratamientos podrían ser formalmente contrastadas mediante pruebas de hipótesis abordadas en el Módulo 5, lo que permitiría cerrar el ciclo analítico integrando los distintos componentes del abordaje estadístico.
Nota: una forma adicional de visualizar los resultados, sugerida por IA, es usar un boxplot, pero ordenado por magnitudes, y no por medio. Por ejemplo, para el crecimiento a los 7 días: ``
# Reordenar niveles del medio según la mediana del crecimiento
orden_medios <- datos_dia7 %>%
group_by(Medio) %>%
summarise(mediana_diam = median(Diámetro_hongo_mm, na.rm = TRUE)) %>%
arrange(desc(mediana_diam)) %>%
pull(Medio)
datos_dia7 <- datos_dia7 %>%
mutate(Medio = factor(Medio, levels = orden_medios))
# Boxplot del diámetro del hongo
ggplot(datos_dia7, aes(x = Medio, y = Diámetro_hongo_mm, fill = Medio)) +
geom_boxplot(outlier.color = "red", outlier.shape = 21, outlier.size = 2) +
labs(
title = "Crecimiento de Pleurotus por medio de cultivo (día 7)",
x = "Medio de cultivo",
y = "Diámetro del hongo (mm)"
) +
theme_minimal(base_size = 12) +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
)
Y para la decoloraciòn:
# Crear variable para tipo de tratamiento
datos_dia7 <- datos_dia7 %>%
mutate(Tratamiento = case_when(
str_detect(Medio, "Peptona") ~ "+ Peptona",
str_detect(Medio, "Sulfato") ~ "+ Sulfato de amonio",
TRUE ~ "Control"
))
# Boxplot mejorado para Tasa de decoloración
ggplot(datos_dia7, aes(x = reorder(Medio, Porc_decoloracion, median, na.rm = TRUE),
y = Porc_decoloracion,
fill = Tratamiento)) +
geom_boxplot(outlier.shape = 16, outlier.size = 2, alpha = 0.8) +
labs(
title = "Porcentage de decoloración por medio de cultivo",
subtitle = "Agrupado por tipo de tratamiento",
x = "Medio de cultivo",
y = "Porcentage de decoloración (%)",
fill = "Tratamiento"
) +
scale_fill_manual(values = c("Control" = "#bdbdbd",
"+ Peptona" = "#1b9e77",
"+ Sulfato de amonio" = "#d95f02")) +
theme_minimal(base_size = 12) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Ambos graficos prueban lo que habiamos sugerido acerca de las influencias de las fuentes de nitrògeno. Este resultado es sorprendente, ya que no parece responder a una inhibiciòn por catabolitos como Ganoderma lucidum.