Análisis de datos con R: Comparación entre tratamiento de sequía y control
En este tutorial vamos a aprender cómo comparar dos grupos de datos (por ejemplo, plantas bajo tratamiento de sequía versus plantas en condiciones normales) usando R. También veremos cómo decidir si utilizamos una prueba t o una prueba no paramétrica.
Primero, necesitamos cargar las bibliotecas necesarias. Las bibliotecas son como "cajas de herramientas" que nos ayudan a hacer diferentes cosas en R. En este caso, vamos a usar algunas para manejar y visualizar datos.
# Instalamos las bibliotecas si no las tenemos ya instaladas
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("dplyr")) install.packages("dplyr")
if (!require("ggpubr")) install.packages("ggpubr")
# Cargar las bibliotecas
library(ggplot2) # Para hacer gráficos
library(dplyr) # Para manipular datos
library(ggpubr) # Para gráficos adicionales
Como no tenemos datos reales, vamos a crear algunos datos ficticios. Imagina que medimos el peso de 30 plantas bajo condiciones normales (control) y 30 plantas bajo sequía.
# Fijamos la semilla para que los resultados sean reproducibles (esto solo es necesario para este ejemplo)
set.seed(123)
# Generar datos ficticios
control <- rnorm(30, mean = 15, sd = 2) # 30 plantas en control, promedio de 15 gramos
sequía <- rnorm(30, mean = 10, sd = 2) # 30 plantas en sequía, promedio de 10 gramos
# Crear un data frame (una tabla de datos) con los datos
datos <- data.frame(
grupo = rep(c("Control", "Sequía"), each = 30),
peso = c(control, sequía)
)
# Mostrar las primeras filas de la tabla de datos
head(datos)
Antes de hacer cualquier análisis, es una buena idea visualizar los datos para ver cómo se ven. Vamos a hacer un gráfico de caja (boxplot).
# Crear un boxplot con puntos individuales y cajas más transparentes usando ggboxplot
ggboxplot(datos, x = "grupo", y = "peso",
fill = "grupo", # Relleno del boxplot según el grupo
palette = c("#00AFBB", "#E7B800"), # Colores para cada grupo
alpha = 0.5, # Nivel de transparencia de las cajas (0 = completamente transparente, 1 = opaco)
add = "jitter", # Agregar puntos individuales con un ligero desplazamiento
add.params = list(color = "grupo", size = 1.5, jitter = 0.2), # Color de los puntos según grupo
ylab = "Peso de la planta (g)", xlab = "Condición",
title = "Boxplot con puntos individuales: Condición Control vs Sequía") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5)) # Centrar el título