# ==============================================================================
# CÓDIGO PARA COMPILADORES ONLINE (R)
# Diseñado para funcionar en: RStudio Cloud, Google Colab (R), JDoodle o Replit
# ==============================================================================

# 1. INSTALACIÓN Y CARGA DE LIBRERÍAS
# En compiladores online a veces las librerías no están instaladas por defecto.
paquetes <- c("ggplot2", "tidyr", "dplyr")
for (p in paquetes) {
  if (!require(p, character.only = TRUE)) {
    install.packages(p, repos = "http://[Log in to view URL]")
    library(p, character.only = TRUE)
  }
}

# 2. CREACIÓN DE DATOS (Para que funcione online sin subir el archivo)
# He extraído los datos reales de tu archivo CSV para que el código sea autónomo.
datos_raw <- data.frame(
  Standard = c(0.4, 0.5, 0.5, 0.7, 0.7, 0.8, 0.8, 0.8, 0.9, 0.9, 1, 1, 1, 1.1, 1.1, 1.2, 1.2, 1.3, 1.3, 1.3, 1.3, 1.4, 1.4, 1.5, 1.5, 1.6, 1.8, 2, 2.2, 2.3, 34.9),
  Extragrow = c(0.7, 0.7, 0.7, 0.8, 0.8, 0.9, 0.9, 0.9, 1, 1, 1, 1, 1.1, 1.1, 1.1, 1.1, 1.2, 1.3, 1.3, 1.4, 1.5, 1.5, 1.6, 1.7, 1.8, 2, 2.2, 2.4, 2.5, 2.8, 39.6),
  BioBoost = c(0.3, 1.3, 1.4, 1.4, 1.4, 1.5, 1.5, 1.5, 1.5, 1.6, 1.6, 1.7, 1.7, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.9, 1.9, 2, 2, 2.1, 2.2, 2.4, 2.5, 2.7, 3, 3.2, 52.3)
)

# 3. PREPARACIÓN DE DATOS
# Convertimos a formato largo para facilitar las gráficas estadísticas
datos_long <- datos_raw %>%
  pivot_longer(cols = everything(), names_to = "Tratamiento", values_to = "Valor")

# 4. GENERACIÓN DE GRÁFICAS

# --- A. DIAGRAMA DE FRECUENCIAS (Histogramas) ---
p1 <- ggplot(datos_long, aes(x = Valor, fill = Tratamiento)) +
  geom_histogram(bins = 20, alpha = 0.7, color = "black") +
  facet_wrap(~Tratamiento, scales = "free_x") +
  theme_minimal() +
  labs(title = "Diagramas de Frecuencia por Tratamiento",
       subtitle = "Basado en los datos del archivo Datos-OJ",
       x = "Valor Medido", y = "Frecuencia") +
  scale_fill_brewer(palette = "Set1")

# --- B. DIAGRAMA DE CAJAS (Boxplots) ---
p2 <- ggplot(datos_long, aes(x = Tratamiento, y = Valor, fill = Tratamiento)) +
  geom_boxplot(outlier.color = "red", outlier.shape = 8) +
  theme_light() +
  labs(title = "Diagrama de Cajas y Bigotes",
       subtitle = "Identificación de valores atípicos (en rojo)",
       x = "Tipo de Tratamiento", y = "Distribución de Valores") +
  scale_fill_manual(values = c("#FF9999", "#99FF99", "#9999FF"))

# 5. MOSTRAR RESULTADOS
# En compiladores online, esto hará que las gráficas aparezcan en la pestaña 'Plots'
print(p1)
print(p2)

# Opcional: Resumen estadístico por consola
print("Resumen Estadístico:")
print(summary(datos_raw))

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: