Reporte

rm(list = ls())
denguelink1='https://github.com/SocialAnalytics-StrategicIntelligence/TableOperations/raw/main/dataFiles/ByYear_LongStats.pkl'
library(reticulate)
use_python("C:/Users/tra19/anaconda3")
pd<-import("pandas")
dengueLongStats<-pd$read_pickle(denguelink1)
str(dengueLongStats)
## 'data.frame':    177 obs. of  4 variables:
##  $ ano       : num  2000 2000 2000 2001 2001 ...
##  $ enfermedad: Ord.factor w/ 3 levels "SIN_SEÑALES"<..: 1 1 1 1 1 1 3 3 3 1 ...
##  $ statsName : chr  "edad_mean" "edad_median" "case_sum" "edad_mean" ...
##  $ statsValue: num  29.5 27 4324 30.6 28 ...
##  - attr(*, "pandas.index")=RangeIndex(start=0, stop=177, step=1)

1.- ¿La edad media del contagiado de dengue varió a través de los años? ¿Fue lo mismo según gravedad?

#Subset
datacase <- subset(dengueLongStats, statsName == "edad_mean" & ano >= 2010)
#Graphic
library(ggplot2)
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
datacase$enfermedad <- factor(datacase$enfermedad, 
                              levels = c("SIN_SEÑALES", "ALARMA", "GRAVE"),
                              labels = c("Sin señales", "Alarma", "Grave"))

facets <- ggplot(data = datacase,
                 aes(x = ano, y = statsValue, color = enfermedad)) + 
    theme_light() +
    scale_y_log10(labels = scales::comma) +
    geom_smooth(fill = NA) +
    scale_color_manual(values = c("palegreen2", "gold1", "firebrick1"),
                       labels = c("Sin señales", "Alarma", "Grave", "Other1", "Other2")) +  # Cambiar nombres en la leyenda
    scale_x_continuous(breaks = seq(2010, max(datacase$ano), by = 3), labels = as.integer) +
    labs(x = "Año", y = "Edad promedio", color = "Enfermedad") +
    guides(color = guide_legend(title = "Enfermedad")) +
    theme(legend.title = element_text(hjust = 0)) +
    ggtitle("Edad promedio de reportados por dengue (2010-2022)") +
    theme(plot.title = element_text(hjust = 0.5))  # Alinear el título general al centro

facets
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

Dado que la recopilación de datos era limitada antes de 2010, se ha decidido evaluar la edad media de los contagiados según su gravedad a partir de ese año.

En cuanto a la pregunta planteada, ciertamente se observan fluctuaciones significativas. En particular, se puede notar que en los años anteriores a 2016, la edad promedio de los contagiados graves fue menor de 35 años, llegando incluso hasta los 27. Sin embargo, después de 2016, ha sido más frecuente encontrar contagiados entre los 30 y 36 años. Es decir, se cuenta con una edad promedio más alta.

No obstante, la situación es ligeramente diferente en el caso de los contagiados en alarma y sin señales. Las edades promedio por año antes de 2016 muestran un rango similar a las edades promedio de los contagiados posterior a dicho año. Este mismo patrón se repite con los infectados sin señales.

2.- ¿La cantidad de casos varió a través de los años? ¿Fue lo mismo según gravedad?

#Subset
datacase2 <- subset(dengueLongStats, statsName == "case_sum" & ano >= 2010)
#Graphic
library(ggplot2)

factor(datacase2$enfermedad, 
                              levels = c("SIN_SEÑALES", "ALARMA", "GRAVE"),
                              labels = c("Sin señales", "Alarma", "Grave"))
##  [1] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
##  [7] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
## [13] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
## [19] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
## [25] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
## [31] Sin señales Alarma      Grave       Sin señales Alarma      Grave      
## [37] Sin señales Alarma      Grave      
## Levels: Sin señales < Alarma < Grave
facets <- ggplot(data = datacase2,
                 aes(x = ano, y = statsValue, color = enfermedad)) + 
    theme_light() +
    scale_y_log10(labels = scales::comma) +
    geom_smooth(fill = NA) +
    scale_color_manual(values = c("palegreen2", "gold1", "firebrick1"),
                       labels = c("Sin señales", "Alarma", "Grave", "Other1", "Other2")) +  # Cambiar nombres en la leyenda
    scale_x_continuous(breaks = seq(2010, max(datacase2$ano), by = 3), labels = as.integer) +
    labs(x = "Año", y = "Cantidad de infectados", color = "Enfermedad") +
    guides(color = guide_legend(title = "Enfermedad")) +
    theme(legend.title = element_text(hjust = 0)) +
    ggtitle("Número de casos reportados por dengue (2010-2022)") +
    theme(plot.title = element_text(hjust = 0.5))  # Alinear el título general al centro

facets
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

Sí, la cantidad de infectados ha variado a lo largo de los años y ha fluctuado según la gravedad del caso. El gráfico muestra un aumento en los casos de infectados sin señales y en alarma en un primer momento, después del año 2010, y en un segundo momento, después del año 2018. Es importante mencionar una ligera disminución de los casos en ambos grupos después de 2016.

Sin embargo, en lo que respecta a los infectados graves, el incremento ha sido relativamente constante, aunque no en la misma proporción que en los grupos de sin señales y en alarma. De hecho, se mantiene muy por debajo de esos grupos.

3.-¿Cuáles fueron las provincias mas afectadas con contagiados a lo largo de los años?

denguelink2='https://github.com/SocialAnalytics-StrategicIntelligence/TableOperations/raw/main/dataFiles/worst_ProvYear_alarma_Frequency.csv'

dengueProvWorst <- read.csv(denguelink2)


str(dengueProvWorst) 
## 'data.frame':    43 obs. of  3 variables:
##  $ departamento: chr  "AMAZONAS" "AMAZONAS" "ANCASH" "ANCASH" ...
##  $ provincia   : chr  "BAGUA" "UTCUBAMBA" "CASMA" "SANTA" ...
##  $ case        : int  6 6 5 3 1 7 1 1 10 2 ...
dengueProvWorst[dengueProvWorst$departamento=='LORETO',]
##    departamento     provincia case
## 28       LORETO ALTO AMAZONAS    1
## 29       LORETO        MAYNAS   13
dengueProvWorst[order(-dengueProvWorst$case),]
##     departamento        provincia case
## 29        LORETO           MAYNAS   13
## 30 MADRE DE DIOS        TAMBOPATA   13
## 41        TUMBES           TUMBES   12
## 43       UCAYALI CORONEL PORTILLO   12
## 31         PASCO         OXAPAMPA   11
## 9      CAJAMARCA             JAEN   10
## 13       HUANUCO    LEONCIO PRADO   10
## 33         PIURA            PIURA   10
## 11         CUSCO    LA CONVENCION    9
## 19         JUNIN      CHANCHAMAYO    9
## 27          LIMA             LIMA    9
## 39    SAN MARTIN       SAN MARTIN    8
## 6       AYACUCHO           LA MAR    7
## 1       AMAZONAS            BAGUA    6
## 2       AMAZONAS        UTCUBAMBA    6
## 23   LA LIBERTAD         TRUJILLO    6
## 3         ANCASH            CASMA    5
## 20         JUNIN           SATIPO    4
## 24    LAMBAYEQUE         CHICLAYO    4
## 4         ANCASH            SANTA    3
## 16           ICA              ICA    3
## 26    LAMBAYEQUE       LAMBAYEQUE    3
## 10        CALLAO           CALLAO    2
## 14       HUANUCO      PUERTO INCA    2
## 18           ICA            PALPA    2
## 21   LA LIBERTAD           ASCOPE    2
## 22   LA LIBERTAD           CHEPEN    2
## 25    LAMBAYEQUE        FERREÑAFE    2
## 36          PUNO         CARABAYA    2
## 38    SAN MARTIN MARISCAL CACERES    2
## 40    SAN MARTIN          TOCACHE    2
## 5       AREQUIPA         AREQUIPA    1
## 7       AYACUCHO            SUCRE    1
## 8      CAJAMARCA        CAJAMARCA    1
## 12         CUSCO     QUISPICANCHI    1
## 15           ICA          CHINCHA    1
## 17           ICA            NAZCA    1
## 28        LORETO    ALTO AMAZONAS    1
## 32         PIURA      HUANCABAMBA    1
## 34         PIURA          SULLANA    1
## 35         PIURA           TALARA    1
## 37    SAN MARTIN         HUALLAGA    1
## 42        TUMBES        ZARUMILLA    1
baseHeat  = ggplot(dengueProvWorst, aes(x = reorder(departamento,case), y = reorder(provincia,case), fill=case)) + theme_classic()
heatDefault = baseHeat +  geom_tile() #here

heatBetter=heatDefault +scale_fill_gradient(low = 'yellow',high = 'red')
heatBetter + theme(axis.text.x = element_text(angle = 60,vjust = 1,hjust = 1),
                   axis.text.y = element_text(size=4)) +
                   geom_text(aes(label=ifelse(case>=10,case,"")),
                             size=6,fontface='bold', color='white')

Las provincias más afectadas han sido Maynas y Tambopata, ambas registraron el mayor número de casos de dengue en su departamento, con un total de 13 ocasiones cada una. Les siguen en la lista Tumbes y Coronel Portillo. De esta forma, es evidente que las regiones más afectadas son aquellas situadas en la selva peruana. El dengue tiene una presencia significativa en estas áreas debido a que presentan condiciones climáticas propicias para su propagación, caracterizadas por climas extremos de lluvia.

4.-¿Qué relación había entre los casos alarmantes no graves y los asintomáticos según departamento a lo largo de los años?

denguelink3='https://raw.githubusercontent.com/SocialAnalytics-StrategicIntelligence/TableOperations/main/dataFiles/ByYearPlace.pkl'

dengueYearPlace <- pd$read_pickle(denguelink3)

str(dengueYearPlace)
## 'data.frame':    203 obs. of  4 variables:
##  $ ano           : num  2012 2012 2012 2012 2012 ...
##  $ departamento  : chr  "AMAZONAS" "ANCASH" "CAJAMARCA" "HUANUCO" ...
##  $ rateAlarma    : num  0.1263 0.0211 0.1772 0.3092 0.0613 ...
##  $ rateAlarma.cut: Ord.factor w/ 6 levels "less10%"<"10-25%"<..: 2 1 2 3 1 1 2 2 2 1 ...
##  - attr(*, "pandas.index")=RangeIndex(start=0, stop=203, step=1)
baseHeat  = ggplot(dengueYearPlace, aes(x = as.factor(ano),
                                       y = reorder(departamento, rateAlarma), 
                                       fill=rateAlarma.cut)) + theme_classic()
heatDefault = baseHeat +  geom_tile(show.legend = T) 

heatBetter=heatDefault +scale_fill_brewer(palette = "Reds")
heatBetter + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1, size=8), 
                   axis.text.y = element_text(size=4),
                   legend.text = element_text(size=8)) + 
                   labs(x = "Año", y = "Departamento", fill = "Casos alarmantes", title = "Evolución de los casos alarmantes de dengue por departamento")+
  theme(plot.title = element_text(hjust = 0.3, face="bold", size=12))

Contrario a lo esperado, el porcentaje de casos alarmantes no graves ha disminuido en comparación con el número de casos asintomáticos a lo largo de los años. Para el año 2018, ha sido cada vez menos común encontrar departamentos con un porcentaje de casos alarmantes de 51-75%, 75-100%, o incluso mayor al 100%.