Descripción de los datos

Este conjunto de datos contiene todos los tweets publicados desde la cuenta de Donald Trump entre 2009 y 2017. Incluye metadatos del tweet (fuente/dispositivo, IDs, fecha/hora, conteos de favoritos y retweets) y una bandera logica de si es retweet. Además, el paquete dslabs incluye un resumen de análisis de sentimiento para el periodo de campaña (2015-06-17 a 2016-11-08) en el objeto sentiment_counts.

Fuente de datos: The Trump Twitter Archive (https://www.thetrumparchive.com/). El dataset proviene de un archivo histórico de tweets; los datos ya estan recopilados y estructurados como un data.frame en dslabs, incluyendo campos de texto y metadatos. El análisis de sentimiento fue procesado previamente por dslabs y solo aplica al período de campaña mencionado.

El dataframe contiene un total de 8 columnas y más de 20K registros. El conjunto de datos tiene un peso aproximado de 6.3 MB. La variable con que tiene más datos nulos es in_reply_to_user_id_str, lo cuál tiene sentido porque este valor sólo aparece cuando se ha respondido a un Tweet.

Variable Descripción
source Dispositivo o servicio usado para componer el tweet
id_str ID del tweet
text Contenido del tweet
created_at Fecha y hora de publicacion del tweet
retweet_count Numero de retweets al momento de crear el dataset
in_reply_to_user_id_str ID del usuario al que responde (si aplica)
favorite_count Numero de favoritos al momento de crear el dataset
is_retweet Indica si el tweet es un retweet (TRUE/FALSE)

Visualizaciones de datos

# Carga de datos
data("trump_tweets")

# Filtrar solo tweets (sin replies ni retweets)
tweets_only <- trump_tweets[is.na(trump_tweets$in_reply_to_user_id_str) & !trump_tweets$is_retweet, ]

# Preparacion de variables para graficos
text_length <- nchar(tweets_only$text)
created_at_col <- tweets_only$created_at
if (!inherits(created_at_col, "POSIXt")) {
  created_at_col <- as.POSIXct(created_at_col, tz = "UTC")
}
year_value <- as.integer(format(created_at_col, "%Y"))

scatter_data <- data.frame(
  text_length = rep(text_length, 2),
  metric = rep(c("Retweets", "Favoritos"), each = length(text_length)),
  value = c(tweets_only$retweet_count, tweets_only$favorite_count)
)

year_scatter_data <- data.frame(
  year = rep(year_value, 2),
  metric = rep(c("Retweets", "Favoritos"), each = length(year_value)),
  value = c(tweets_only$retweet_count, tweets_only$favorite_count)
)

Longitud del texto vs retweets y favoritos

# Longitud del texto vs retweets y favoritos
ggplot(scatter_data, aes(x = text_length, y = value, color = metric)) +
  geom_point(alpha = 0.2, na.rm = TRUE) +
  facet_wrap(~ metric, scales = "free_y") +
  scale_y_continuous(labels = label_number(scale = 1e-3, suffix = "K")) +
  scale_color_brewer(palette = "Set2") +
  labs(
    title = "Longitud del texto vs retweets y favoritos",
    x = "Longitud del texto (caracteres)",
    y = "Cantidad"
  ) +
  theme_light()

Este gráfico muestra las relaciones entre la longitud de los tweets de Trump vs Favoritos (Likes) y vs Retweets. En las gráficas se muestran cómo la mayoría de tweets tienen menos de 150 caracteres. Lo que indica que Trump tiende a escribir tweets poco largos y esos son los que consiguen mayor interacción con los usuarios.

Año vs retweets y favoritos

# Año vs retweets y favoritos
ggplot(year_scatter_data, aes(x = year, y = value, color = metric)) +
  geom_point(alpha = 0.2, na.rm = TRUE) +
  facet_wrap(~ metric, scales = "free_y") +
  scale_y_continuous(labels = label_number(scale = 1e-3, suffix = "K")) +
  scale_color_brewer(palette = "Set2") +
  labs(
    title = "Año vs retweets y favoritos",
    x = "Año",
    y = "Cantidad"
  ) +
  theme_light()

Este gráfico muestra las relaciones entre los años de los tweets de Trump vs Favoritos (Likes) y vs Retweets. En las gráficas se muestran cómo las interacciones en los años 2009 al 2015 se mantienen más o menos similares y se ve una subida en los siguientes años, lo que coincide con las elecciones que gana.

Número de tweets por año

# Número de tweets por año
ggplot(data.frame(year = year_value), aes(x = year)) +
  geom_histogram(binwidth = 1, boundary = 0, fill = "#4DBBD5", color = "white") +
  labs(
    title = "Numero de tweets por año",
    x = "Año",
    y = "Numero de tweets"
  ) +
  theme_light()

Este gráfico muestra un histograma de los tweets que realizó Trump por cada año. Mostrando un uso bastante alto a partir del año 2011 con picos en años de elecciones. Lo que muestra que Trump es una persona con tendencia a compartir sus opiniones en influencias en las personas.