library(rio)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#Importamos la base de datos:
dengue=import("base_dengue.csv")
summary(dengue$edad)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##        0       15       26      272       41 71963641
table(dengue$enfermedad)
## 
## DENGUE CON SEÑALES DE ALARMA                 DENGUE GRAVE 
##                        55061                         2262 
## DENGUE SIN SEÑALES DE ALARMA                         II\\ 
##                       444361                            8
#A continuación, por fines prácticos, simplificamos las categorías "DENGUE CON SEÑALES DE ALARMA","DENGUE SIN SEÑALES DE ALARMA" y "DENGUE GRAVE" por "con", "sin" y "grave" respectivamente
dengue$enfermedad <- gsub("DENGUE CON SEÑALES DE ALARMA", "con", dengue$enfermedad)
dengue$enfermedad <- gsub("DENGUE SIN SEÑALES DE ALARMA", "sin", dengue$enfermedad)
dengue$enfermedad <- gsub("DENGUE GRAVE", "grave", dengue$enfermedad)
table(dengue$enfermedad)
## 
##    con  grave   II\\    sin 
##  55061   2262      8 444361
#Seleccionamos las filas donde "enfermedad" sea igual a "con", "sin" o "grave", descartando cualquier otra fila que no cumpla con estas condiciones
dengue=filter(dengue, enfermedad=="con" | enfermedad=="sin" | enfermedad=="grave")
#Ahora convertimos a factor:
dengue$enfermedad=as.factor(dengue$enfermedad)
table(dengue$enfermedad)
## 
##    con  grave    sin 
##  55061   2262 444361
summary(dengue$edad)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##        0       15       26      269       41 71963641
#Ejercicio 1
library(lsr)
## Warning: package 'lsr' was built under R version 4.2.3
colnames(dengue)[colnames(dengue) == "ano"] <- "Year"
EdadxYear = dengue |>
  group_by(Year) |>
  summarise(media = mean(edad, na.rm=T))
EdadxYear
## # A tibble: 23 × 2
##    Year  media
##    <chr> <dbl>
##  1 2000   28.4
##  2 2001   28.9
##  3 2002   26.0
##  4 2003   28.6
##  5 2004   28.1
##  6 2005   26.3
##  7 2006   26.8
##  8 2007   28.0
##  9 2008   27.8
## 10 2009   29.6
## # … with 13 more rows

Gráfico

library(ggplot2)
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 4.2.3
ggplot(EdadxYear, aes(x = Year, y = media)) +
  geom_line(color = "blue", size = 1.5) +
  geom_point(color = "red", size = 3) +  # Añadir puntos para resaltar los valores
  labs(title = "Edad promedio de personas contagiadas de dengue por año",
       x = "Año",
       y = "Edad") +
  theme(legend.key.size = unit(1, "lines"))
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?

Pregunta 2

ejercicio2 <- dengue %>%
  group_by(Year) %>%
  summarise(
    total_casos = n(),
    graves = sum(enfermedad == "grave"),
    sin_señales = sum(enfermedad == "sin"),
    con_señales = sum(enfermedad == "con"))

Grafico

library(ggplot2)

# Suponiendo que tus datos están en un dataframe llamado "datos" con las columnas "año", "total", "con_alarma", "sin_alarma" y "graves"

# Crear gráficos de líneas individuales para cada variable
grafico_total <- ggplot(ejercicio2, aes(x = Year, y = total_casos)) +
  geom_line() +
  labs(title = "Total de casos de Dengue a lo largo de los años",
       x = "Año",
       y = "Total de casos") +
  theme_minimal()

grafico_con_alarma <- ggplot(ejercicio2, aes(x = Year, y = con_señales)) +
  geom_line() +
  labs(title = "Casos de Dengue con Alarma a lo largo de los años",
       x = "Año",
       y = "Casos con Alarma") +
  theme_minimal()

grafico_sin_alarma <- ggplot(ejercicio2, aes(x = Year, y = sin_señales)) +
  geom_line() +
  labs(title = "Casos de Dengue sin Alarma a lo largo de los años",
       x = "Año",
       y = "Casos sin Alarma") +
  theme_minimal()

grafico_graves <- ggplot(ejercicio2, aes(x = Year, y = graves)) +
  geom_line() +
  labs(title = "Casos de Dengue Graves a lo largo de los años",
       x = "Año",
       y = "Casos Graves") +
  theme_minimal()

# Mostrar los gráficos por separado
print(grafico_total)
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?

print(grafico_con_alarma)
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?

print(grafico_sin_alarma)
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?

print(grafico_graves)
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?