Importacion de librerias

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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3

Importacion de archivos

importamos los diferentes archivos csv de los candidatos, obtenidos mediante un web scraping

Mainez <- read.csv("C:/Users/User/Downloads/mainez.csv")
sheinbaum <- read.csv("C:/Users/User/Downloads/sheinbaum.csv")
xochitl <- read.csv("C:/Users/User/Downloads/xochitl.csv")

View(Mainez)
View(sheinbaum)
View(xochitl)

Calcular el total de likes para cada candidato

En los diferentes archivos tenemos campos relacionados con la cantida de likes, comentarios y compartidos, a estos son necesarios que los sumemos para poder tener un total y asi mas delante los tengamos disponibles para la graficacion.

total_likes_mainez <- sum(Mainez$likes, na.rm = TRUE)
total_likes_sheinbaum <- sum(sheinbaum$likes, na.rm = TRUE)
total_likes_xochitl <- sum(xochitl$likes, na.rm = TRUE)

total_share_mainez <- sum(Mainez$shares, na.rm = TRUE)
total_share_sheinbaum <- sum(sheinbaum$shares, na.rm = TRUE)
total_share_xochitl <- sum(xochitl$shares, na.rm = TRUE)

total_comments_mainez <- sum(Mainez$comments, na.rm = TRUE)
total_comments_sheinbaum <- sum(sheinbaum$comments, na.rm = TRUE)
total_comments_xochitl <- sum(xochitl$comments, na.rm = TRUE)

Crear un data frame con los totales de likes

Creamos un dataframe que contenga los tres candidatos y en una lista se centren la cantidad total de likes de cada uno de ellos

likes_data <- data.frame(
  Candidato = c("Mainez", "Sheinbaum", "Xochitl"),
  Likes = c(total_likes_mainez, total_likes_sheinbaum, total_likes_xochitl)
)

Crear la gráfica de barras

Creamos una grafica de barras para poder ver la diferencia de likes entre los tres candidatos

ggplot(likes_data, aes(x = Candidato, y = Likes, fill = Candidato)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparacion de total de likes entre candidatos",
       x = "Candidatos",
       y = "Total Likes") +
  theme_minimal()

Crear un data frame con los totales de comentarios

Hora llevamos a cabo el mismo paso pero esta bes teniendo en cuenta la cantidad de comentarios. )

comments_data <- data.frame(
  Candidato = c("Mainez", "Sheinbaum", "Xochitl"),
  Comments = c(total_comments_mainez, total_comments_sheinbaum, total_comments_xochitl)
)

ggplot(comments_data, aes(x = Candidato, y = Comments, fill = Candidato)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación de total de comentarios entre candidatos",
       x = "Candidatos",
       y = "Total Comentarios") +
  theme_minimal()

Graficacion de total de compartidos

shares_data <- data.frame(
  Candidato = c("Mainez", "Sheinbaum", "Xochitl"),
  Shares = c(total_share_mainez, total_share_sheinbaum, total_share_xochitl)
)


ggplot(shares_data, aes(x = Candidato, y = Shares, fill = Candidato)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación de total de compartidos entre candidatos",
       x = "Candidatos",
       y = "Total Compartidos") +
  theme_minimal()

Graficacion de la comparativa de likes y compartidos de cada candidato

Mainez

comparison_data_mainez <- data.frame(
  Metric = c("Likes", "Compartidos"),
  Count = c(total_likes_mainez, total_share_mainez)
)

ggplot(comparison_data_mainez, aes(x = Metric, y = Count, fill = Metric)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación likes/compartidos candidato Mainez",
       x = "Métrica",
       y = "Cantidad") +
  theme_minimal()

Sheinbaum

comparison_data_sheinbaum <- data.frame(
  Metric = c("Likes", "Compartidos"),
  Count = c(total_likes_sheinbaum, total_share_sheinbaum)
)

ggplot(comparison_data_sheinbaum, aes(x = Metric, y = Count, fill = Metric)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación likes/compartidos candidata Sheinbaum",
       x = "Métrica",
       y = "Cantidad") +
  theme_minimal()

Xochitl

comparison_data_xochitl <- data.frame(
  Metric = c("Likes", "Compartidos"),
  Count = c(total_likes_xochitl, total_share_xochitl)
)

ggplot(comparison_data_xochitl, aes(x = Metric, y = Count, fill = Metric)) +
  geom_bar(stat = "identity") +
  labs(title = "Comparación likes/compartidos candidata Xochitl",
       x = "Métrica",
       y = "Cantidad") +
  theme_minimal()