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.
## 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 de datos
xfun::embed_file("twitter_diaria.csv")
xfun::embed_file("2020_MX_Region_Mobility_Report.csv")