# Cargar librerías
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## 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
# Ejercicio 1: Dispersión entre precio y quilates
print("Ejercicio 1: Dispersión entre precio y quilates")
## [1] "Ejercicio 1: Dispersión entre precio y quilates"
ggplot(diamonds, aes(x = carat, y = price)) +
  geom_point(color = "blue")

# Ejercicio 2: Colorear por calidad del corte
print("Ejercicio 2: Colorear por calidad del corte")
## [1] "Ejercicio 2: Colorear por calidad del corte"
ggplot(diamonds, aes(x = carat, y = price, color = cut)) +
  geom_point(size = 1.5) +
  ggtitle("Relación entre Precio y Quilates según Calidad del Corte")

# Ejercicio 3: Boxplot del precio por claridad
print("Ejercicio 3: Boxplot del precio por claridad")
## [1] "Ejercicio 3: Boxplot del precio por claridad"
ggplot(diamonds, aes(x = clarity, y = price)) +
  geom_boxplot(fill = "orange") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

# Ejercicio 4: Histograma de precios
print("Ejercicio 4: Histograma de precios")
## [1] "Ejercicio 4: Histograma de precios"
ggplot(diamonds, aes(x = price)) +
  geom_histogram(bins = 30, fill = "green", color = "black")

# Ejercicio 5: Gráfico de líneas de precio promedio por quilate
print("Ejercicio 5: Gráfico de líneas de precio promedio por quilate")
## [1] "Ejercicio 5: Gráfico de líneas de precio promedio por quilate"
avg_price <- diamonds %>%
  group_by(carat) %>%
  summarise(avg_price = mean(price))

ggplot(avg_price, aes(x = carat, y = avg_price)) +
  geom_line() +
  ggtitle("Precio Promedio por Quilate")