library(ggplot2)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data("ChickWeight")
head(ChickWeight)
##   weight Time Chick Diet
## 1     42    0     1    1
## 2     51    2     1    1
## 3     59    4     1    1
## 4     64    6     1    1
## 5     76    8     1    1
## 6     93   10     1    1
# tablas para cada dieta
dieta1 <- ChickWeight %>% filter(Diet == 1)
dieta2 <- ChickWeight %>% filter(Diet == 2)
dieta3 <- ChickWeight %>% filter(Diet == 3)
dieta4 <- ChickWeight %>% filter(Diet == 4)

#factores a partir de la columna Time de cada tabla
factor1 <- as.factor(dieta1$Time)
factor2 <- as.factor(dieta2$Time)
factor3 <- as.factor(dieta3$Time)
factor4 <- as.factor(dieta4$Time)

#promedios de los pesos diarios para cada dieta
promedio_dieta1 <- dieta1 %>% group_by(Time) %>% summarise(mean_weight = mean(weight))
promedio_dieta2 <- dieta2 %>% group_by(Time) %>% summarise(mean_weight = mean(weight))
promedio_dieta3 <- dieta3 %>% group_by(Time) %>% summarise(mean_weight = mean(weight))
promedio_dieta4 <- dieta4 %>% group_by(Time) %>% summarise(mean_weight = mean(weight))

vector_dieta1 <- as.numeric(promedio_dieta1$mean_weight)
vector_dieta2 <- as.numeric(promedio_dieta2$mean_weight)
vector_dieta3 <- as.numeric(promedio_dieta3$mean_weight)
vector_dieta4 <- as.numeric(promedio_dieta4$mean_weight)

data_grafico <- data.frame(
  Time = rep(unique(ChickWeight$Time), 4),
  Peso = c(vector_dieta1, vector_dieta2, vector_dieta3, vector_dieta4),
  Dieta = factor(rep(1:4, each = length(unique(ChickWeight$Time))))
)

ggplot(data_grafico, aes(x = Time, y = Peso, color = Dieta)) +
  geom_line(size = 1) +
  labs(title = "Promedio del peso de los pollitos según dieta y tiempo",
       x = "Tiempo (días)",
       y = "Peso promedio (g)") +
  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.

ggsave("grafico_pollitos.png")
## Saving 7 x 5 in image