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?