Mapa de calor con las mejores horas y días de publicación en Twitter (con R)

Este post te detalla de forma directa y sencilla los pasos a seguir para construir un heatmap con R que indique las mejores horas y días para publicar en Twitter.

 

Desde Doctormetrics ya os hemos explicado anteriormente cómo trabajar en Excel con las estadísticas que podemos exportar de Twitter y Facebook. En esta ocasión el protagonista será R, un software libre de procesamiento y explotación de datos utilizado cada día en más ámbitos.

Así que en los siguientes párrafos encontraréis una pequeña guía que os servirá para saber, gracias a esta herramienta, cuál ha sido la mejor hora y día de publicación en Twitter. Intentamos así aproximaros al potencial de R para que lucubréis cómo exprimirla al máximo para obtener los mejores resultados en redes sociales.

mejores horas y días para publicar en Twitter

Antes de entrar en materia es indispensable:

 

estadísticas de Twiiter

Una vez instalado todo y con los datos descargados ejecutaremos R Studio, que presentará este aspecto:

aspecto de R

Seguidamente veremos paso a paso qué debemos hacer para crear en mapa de calor que hemos visto anteriormente.

Primer paso:

 

Pinchar en “Session” > “Set Working Directory” y “Choose Directory” (o Crtl + Shift + H). Ahí elegiremos nuestro entorno de trabajo, el directorio donde hayamos guardado el .csv. Para la ocasión nosotros hemos optado por el “Escritorio”.

Segundo paso: 

 

Crear un nuevo script: “File” > “New File” > “R Script” (o Crtl + Shift + N)

Tercer paso:

 

Para comenzar a trabajar R deberá leer el archivo .csv exportado de Twitter. Para ello escribiremos en el propio script esta línea de código:

  • data = read.csv(«.csv», stringsAsFactors = F, sep=»,»)

Donde en escribiremos el nombre del archivo que hayamos elegido a la hora de descargar las estadísticas de Twitter. En nuestro caso ha sido tweet_activity_metrics_ejemplo.csv.

Cuarto paso:

 

Hacemos clic sobre esa primera línea del script para situar el cursor y pulsamos “Run” para ejecutarla.

mejore horas y días para publicar en Twitter

Esta será siempre la dinámica: pegar la línea de código propuesta en el script y ejecutar con «Run» (o Control+Enter)

Quinto paso:

 

Para ver la tabla escribimos en la segunda línea: View(data), situamos el cursos sobre ella y pulsamos “Run”.

twitter heatmap

Como veréis se abrirá una pestaña adjunta en la que encontraremos en una tabla todos los datos de Twitter.

datos de twitter

Sexto paso:

 

Recordad que nuestro objetivo es determinar qué hora y día obtiene mejores resultados en función del promedio de interacciones. Por ello optamos por eliminar todos los tuits que sean respuestas a usuarios. Para deshacerse de los replies escribimos en una tercera línea:

  • data = data[-grep(«^@»,data$Texto.del.Tweet),]

Séptimo paso:

 

Lo siguiente será ajustar los horarios. En nuestro caso, las horas que muestra Twitter en los datos exportados no coinciden con la hora real de publicación. Hay un lapsus de 2 horas que debemos corregir. En función del país de origen de cada cuenta y su configuración horaria esa diferencia será mayor o menor. Conviene que la contratéis para que no haya confusiones.

Tendremos que preparar una serie de librerías previamente. Escribid y ejecutad con “Run” una por una estas líneas de código

  • install.packages(«lubridate»,dependencies=TRUE)
  • library(lubridate)
  • install.packages(«stringr»,dependencies=TRUE)
  • library(stringr)

Una vez instaladas, copiad, pegad y «Run» una por una las siguientes líneas para ajustar y dar formato a la columna:

  • data$tiempo = str_sub(data$tiempo,start=1, end=16)
  • data$tiempo = strptime(data$tiempo, «%Y-%m-%d %H:%M»)

Las siguientes líneas de código, como muestra la captura inferior, deben seleccionarse al mismo tiempo a la hora de ejecutar:

hrs <- function(u) { x <- u * 3600

return(x)}

r heatmap

Y por último data$tiempo = strptime(data$tiempo, «%Y-%m-%d %H:%M»)+hrs(2)

Ahora sí ya tendremos las publicaciones a la hora deseada

ajuste horas

Octavo paso:

 

Estamos muy cerca ya de nuestro mapa de calor de Twitter. Los próximos pasos nos permitirán extraer el día y hora de publicación de cada tuit como vemos en la captura.

twitter días

  • data$hora = hour(data$tiempo)
  • data$dia = weekdays(data$tiempo)

Noveno paso:

 

Ahora es el turno de agrupar por día y hora según el promedio de interacciones, a modo de tabla dinámica de Excel. Para ello deberemos copiar el siguiente código y ejecutarlo en este orden:

  • install.packages(«dplyr»)
  • library(dplyr)
  • data = data %>% group_by(dia, hora) %>% summarise(interacciones = round(mean(interacciones),1))

El resultado será este:

twitter

Décimo paso:

 

Llegamos al último hito del camino, la representación gráfica en un mapa de calor. Para conseguirlo antes deberemos:

  • install.packages(«ggplot2»)
  • library(ggplot2)

Es imprescindible también cargar en el script, en una nueva línea, x11() , que nos permitirá que el mapa de calor se abra en una ventana independiente que pueda exportarse en una imagen.

Último paso:

 

Deberemos introducir y ejecutar será:

  • ggplot(data,aes(x=factor(dia, levels = c(«lunes»,»martes»,»miércoles»,»jueves»,»viernes»,»sábado»,»domingo»),ordered = TRUE), y=hora)) + geom_tile(aes(fill=data[,»interacciones»])) + theme_classic()+scale_fill_gradient(name=»Interacción media MES MARCAEJEMPLO»,low =»#F8F8FA»,high = «#201545») +  xlab(«») + ylab(«Horas de Publicación Twitter»)

Si todo ha ido bien se abrirá una ventana nueva con el tan deseado mapa de calor de las mejores horas y días para publicar en Twitter. Ahora simplemente deberemos elegir el formato de salida que deseemos y listo.

mejores horas y días para publicar en Twitter

¿Se os ha despertado la curiosidad de qué más se puede hacer con R? Pues en Doctormetrics ya hemos escrito en otras ocasiones sobre cómo utilizar esta herramienta. Por ejemplo podéis leer cómo conectarla con Facebook.

Finalizamos con una captura con todos las líneas de código y el orden utilizado en esta pequeña guía para elaborar un mapa de calor con las mejores horas y días para publicar en Twitter.

mejores horas y días para publicar en Twitter

César Marín

César Marín

Share on facebook
Share on twitter
Share on linkedin
Share on email
4 min
Suscríbete a nuestra newsletter

Los mejores artículos de analítica digital para potenciar tu negocio.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas relacionadas