#Ejercicio 8
# Incorporad el dataset ChickWeight que contiene información sobre el peso de 578 pollitos
# en gramos (weight), el tiempo desde la medición al nacer (Time), una variable identificadora
# de cada pollito (Chick) a partir del rango de peso y una variable factor con el tipo de dieta
# experimental que cada pollito recibió (Diet).
# a) Incorporad el conjunto de datos ChickWeight del paquete datasets a vuestro entorno
# de trabajo.
# b) Generad un gráfico de dispersión de la variable weight.
# c) Cread un diagrama de caja con la variable Time.
# Para más información sobre ChickWeight: https://rdrr.io/r/datasets/ChickWeight.html
# 1. Instalamos y cargamos rio
# a) Incorporamos el conjunto de datos del paquete datasets
library(datasets)
data("ChickWeight")
# Creamos una copia con el nombre que prefieras (opcional)
dataChikW <- ChickWeight
# Comprobamos que las columnas son correctas
names(dataChikW)
## [1] "weight" "Time" "Chick" "Diet"
head(dataChikW)
## 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
# b) Generamos un gráfico de dispersión de la variable weight
plot(dataChikW$weight,
main = "Gráfico de Dispersión: Peso de los pollitos",
xlab = "Número de observación",
ylab = "Peso (gramos)",
col = "royalblue",
pch = 16) # Puntos rellenos para mejor visibilidad

# c) Cread un diagrama de caja con la variable Time
boxplot(dataChikW$Time,
main = "Diagrama de Caja: Tiempo (días)",
ylab = "Días desde el nacimiento",
col = "orange",
border = "brown")

# Ejercicio 9:
# A partir del conjunto de datos anorexia del paquete MASS, cread otro data frame que se llame
# anorexia_treat_df formado por Treat y por un vector nuevo calculado a partir de la
# diferencia Prewt-Postwt. De esta manera, nos quedará un data frame que contenga el tipo de
# tratamiento y el valor del peso ganado o perdido después de haber realizado el tratamiento.
# Seleccionad aquellos individuos que han ganado peso después del tratamiento y cread un
# nuevo conjunto llamado anorexia_treat_C_df que contenga solo los datos de aquellos que
# han seguido el tratamiento «Cont» y que han ganado peso después del tratamiento.
library(MASS)
data("anorexia")
# Creamos el vector de la diferencia
dif_peso <- anorexia$Prewt - anorexia$Postwt
# Creamos el primer data frame solicitado
anorexia_treat_df <- data.frame(
Treat = anorexia$Treat,
Diferencia = dif_peso
)
head(anorexia_treat_df)
## Treat Diferencia
## 1 Cont 0.5
## 2 Cont 9.3
## 3 Cont 5.4
## 4 Cont -12.3
## 5 Cont 2.0
## 6 Cont 10.2
# Filtramos: Peso ganado significa que Postwt > Prewt, por tanto Diferencia < 0
ganadores_peso <- anorexia_treat_df[anorexia_treat_df$Diferencia < 0, ]
# Seleccionamos: Tratamiento "Cont" Y ganancia de peso (Diferencia < 0)
anorexia_treat_C_df <- anorexia_treat_df[anorexia_treat_df$Treat == "Cont" &
anorexia_treat_df$Diferencia < 0, ]
# Verificamos el resultado
print(anorexia_treat_C_df)
## Treat Diferencia
## 4 Cont -12.3
## 8 Cont -11.6
## 10 Cont -6.2
## 13 Cont -8.3
## 14 Cont -3.3
## 15 Cont -11.3
## 21 Cont -2.8
## 22 Cont -0.3
## 23 Cont -1.8
## 24 Cont -3.7
## 25 Cont -15.9
# Usamos el data frame que creamos en el ejercicio anterior
boxplot(Diferencia ~ Treat, data = anorexia_treat_df,
main = "Cambio de Peso por Tipo de Tratamiento",
xlab = "Tratamiento",
ylab = "Diferencia (Pre - Post)",
col = c("lightblue", "orange", "lightgreen"),
las = 1) # las = 1 pone los números del eje Y horizontales
# Añadimos una línea en el 0 para ver quién gana y quién pierde
abline(h = 0, col = "red", lty = 2, lwd = 2)

# Nota: Los puntos por debajo de la línea roja ganaron peso.
# Los puntos por encima perdieron peso.