A9U1

Equipo 2: Christian Acedo, Miguel Espinoza, Alejandro Gil, Jorge Figueroa

11/3/2022

library(pacman, tidyverse)

p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales","datasets","fdth", "GGally", "gridExtra","corrplot")

Análisis de los decesos por covid 19 en México

En el presente documento, se presentará la relación que tienen los decesos por covid y los tweets negativos que ha habido antes y durante el inicio de la pandemia.

Imagen representativa twitter ## Importación de datos

twits <- read_csv("twitter_diaria.csv")
## Rows: 2255 Columns: 7
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr  (2): tipo_usuario, lugar
## dbl  (4): tuits_negativos, indice, recoleccion_promedio, tuits_positivos
## date (1): fecha
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
datatable(twits)
tuitsPrePandemiaNegativos= ts(twits[2], start = c(2019), end = c(2020), frequency = 12)
tuitsPrePandemiaNegativos
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 2019 34401 34689 39431 46229 44575 43144 42547 46027 38919 40552 48545 43537
## 2020 47347
tuitsPrePandemiaPositivos= ts(twits[7], start = c(2019), end = c(2020), frequency = 12)
tuitsPrePandemiaPositivos
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2019 102401  87432  94997 109772 100176  99458  96080 101565 100065  96689
## 2020  96110                                                               
##         Nov    Dec
## 2019  97004  91623
## 2020
tuitsPosPandemiaNegativos= ts(twits[2], start = c(2020), end = c(2021), frequency = 12)
tuitsPosPandemiaNegativos
##        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
## 2020 34401 34689 39431 46229 44575 43144 42547 46027 38919 40552 48545 43537
## 2021 47347
tuitsPosPandemiaPositivos= ts(twits[7], start = c(2020), end = c(2021), frequency = 12)
tuitsPosPandemiaPositivos
##         Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct
## 2020 102401  87432  94997 109772 100176  99458  96080 101565 100065  96689
## 2021  96110                                                               
##         Nov    Dec
## 2020  97004  91623
## 2021

Tweets Negativos previos de la pandemia

plot(tuitsPrePandemiaNegativos, main ="Tweets negativos previos a la pandemia", xlab="Año", ylab="Tweets negativos")

Se puede observar dada la gráfica que el número de tweets negativos es fluctuante.

Tweets Negativos posterior a la pandemia

plot(tuitsPosPandemiaNegativos, main ="Tweets negativos posterior a la pandemia", xlab="Año", ylab="Tweets negativos")

Es posible determinar respecto a los datos de los tweets negativos post-pandemia que al principio se observaron un índice muy alto de tweets negativos, al inicio se observó un índice muy alto al igual que bajones notorios.

Tweets Positivos previos a la pandemia

plot(tuitsPrePandemiaPositivos, main ="Tweets positivos previos a la pandemia", xlab="Año", ylab="Tweets positivos")

Previamente a la pandemia, el número de tweets positivos fluctuaba un poco, pero en general se observan cantidades similares. Sin embargo, en el año 2019 hubo un bajón notorio.

Tweets Positivos después de la pandemia

plot(tuitsPosPandemiaPositivos, main ="Tweets positivos posterior de la pandemia", xlab="Año", ylab="Tweets positivos")

En el momento que la pandemia exploto los tweets positivos se vieron reducidos por obvias circunstancias, antes de la pandemiala el estado de animo de las personas no era muy diferente con relacion de tweets positivos, pero claramente hay un declive despues de la pandemia.

Datos de decesos por SarsCov-19

Los siguientes datos han sido obtenidos de la página GitHub, mismo que nos muestran los decesos por COVID durante la pandemia.

decesosCovid <- "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"

datosDecesos <- read.csv(decesosCovid)

Datos sobre el estado de ánimo de los tuiteros en México

Los siguientes datos fueron recopilados de la página de INEGI: https://www.inegi.org.mx/app/animotuitero/#/app/multiline, a través del uso de la plataforma Twitter, recolectó tweets públicos dentro del país.

datosTweets <- read.csv("twitter_diaria.csv")

##Datos de movilidad regional en 2020

Los siguientes datos fueron recuperados de la empresa Google del siguiente link: https://www.google.com/covid19/mobility/, Google nos proporciona informes de movilidad que se muestran por ubicación y nos muestran la manera en que cambia el número de visitas a diferentes lugares en México en el año 2020.

datosMovilidad <- read.csv("2020_MX_Region_Mobility_Report.csv")

Definición de variables

Se definen las variables a implementar

decesos <- t(datosDecesos[datosDecesos$Country.Region=="Mexico" ,])
tuits <- datosTweets
movilidad <- datosMovilidad

Formatear datos

-Eliminar campos no utilizables -Formatear las fechas -Crear un marco de datos (data frame)

#vector de fecha
Fecha <- seq(from = as.Date("2020-02-15"), to = as.Date("2020-12-31"), by = "day"   )

#Decesos 
vec1 <- as.vector(decesos)
vec2 <- vec1[29:349]
num1 <- as.numeric(vec2)
Decesos <- as.vector(num1)

#Tweets
vec1 <- as.vector(tuits$tuits_negativos)
vec2 <- vec1[1505:1825]
num1 <- as.numeric(vec2)
Tuits <- as.vector(num1)

#Movilidad
vec1 <- as.vector(movilidad$residential_percent_change_from_baseline)
vec2 <- vec1[1:321]
num1 <- as.numeric(vec2)
Movilidad <- as.vector(num1)

#Primer análisis Desesos

plot(Decesos)

#Primer análisis Movilidad

plot(Movilidad)

Data frame y Grafica de datos

datos <- data.frame(Fecha, Decesos, Movilidad, Tuits)

gcov <- ggplot(data = datos) +
  geom_line(aes(Fecha, Decesos, colour="Decesos")) +geom_line(aes(Fecha, Movilidad, colour="Movilidad")) +
  geom_line(aes(Fecha, Tuits, colour="Tweets")) + xlab("Fecha") + ylab("Cantidad") + labs(colour="Casos")+
  ggtitle("Relación de tweets, decesos y movilidad") +
  scale_y_continuous(labels = comma)
gcov

Gráfica

ggplotly(gcov)

Gráfica

ggplot(data = datos) + geom_line(aes(Fecha, Decesos, colour="Decesos")) + geom_line(aes(Fecha, Movilidad, colour="Movilidad")) + geom_line(aes(Fecha, Tuits, colour="Tweets")) + xlab("Fecha") + ylab("Cantidad") + labs(colour="Casos")+ ggtitle("Relación de tweets, decesos y movilidad") + scale_y_continuous(labels = comma) + transition_reveal(Fecha)

Correlación de datos

datosRelacion <- data.frame(Decesos, Movilidad, Tuits)
round(cor(x = datosRelacion, method = "pearson"), 3)
##           Decesos Movilidad  Tuits
## Decesos     1.000    -0.160 -0.805
## Movilidad  -0.160     1.000  0.134
## Tuits      -0.805     0.134  1.000
ggpairs(datosRelacion, lower = list(continuous ="smooth"), diag = list (continuos = "barDiag"), axisLabels = "none")

Matriz de correlación de datos

corrplot(cor(dplyr::select(datosRelacion, Decesos, Movilidad, Tuits)),
         method = "number", tl.col = "black")

Se puede observar que dichos datos mantienen una gran relación, los tweets negativos con los decesos provocados por el SarsCov-19

Conclusión

Tras haber realizado los casos de estudio y habiendo trabajado con estas 3 variables las cuales era los tweets, la movilidad y los decesos, podemos concluir que existe una correlación estrecha entre los tweets negativos y las muertes por COVID-19, ya que se puede apreciar que entre mayor número de decesos, la cantidad de tweets también disminuyó, asimismo, en la matriz de correlación se puede apreciar esta misma relación estrecha que existe en los datos analizados

Descarga del código

xfun::embed_file("A9U1.Rmd")

Download A9U1.Rmd

Descarga de datos

xfun::embed_file("twitter_diaria.csv")

Download twitter_diaria.csv

xfun::embed_file("2020_MX_Region_Mobility_Report.csv")

Download 2020_MX_Region_Mobility_Report.csv