Análisis de datos de twitter con R: Segmentando seguidores

analizando datos de twitter con R - seguidores

Una vez tenemos claro qué podemos hacer conectando twitter y R y cómo hacerlo, además de algunas de las funciones más importantes, es el momento de comenzar nuestro análisis.

Segmentando mis seguidores:

Una vez que hemos sacado los seguidores de un usuario con la función getfollowers que comenté en el artículo anterior, podemos hacer una segmentación por idioma, localización, nivel de influencia…

Cómo se autodefinen mis seguidores:

La descripción de cada usuario en twitter es, obligatoriamente, corta. Esto le obliga a seleccionar muy bien el texto para autodefinirse de la forma más precisa. Así pues, hacer un análisis de esos textos nos ayudará a segmentarlos cualitativamente, aparte de las obvias segmentaciones más clásicas. Para ver las palabras más repetidas mediante una nube de palabras, debemos instalar y llamar las librerías wordcloud y RColorBrewer, además de las que mencioné en el artículo anterior.

Lo primero que debemos hacer es conectar con la API de twitter, cargar todas las librerías, sacar la información del usuario cuyos seguidores queremos analizar, conseguir sus seguidores y convertirlo todo en un dataframe (el código está en el artículo anterior). Para este ejemplo, usaremos un dataframe llamado seguidores

#convertimos la descripción de esos seguidores en un String. 
texto2 <- toString(seguidores$description)
#El texto lo transformamos en una lista separada por espacios
texto_split2 = strsplit(texto2, split=" ")
#Deshacemos esa lista y tenemos el data.frame
texto_col2 = as.character(unlist(texto_split2))
texto_col2 = data.frame(toupper(texto_col2))
names(texto_col2) = c("V1")
#Eliminamos algunos caracteres regulares
texto_col2$V1 = gsub("([[:space:]])","",texto_col2$V1)
texto_col2$V1 = gsub("([[:digit:]])","",texto_col2$V1)
texto_col2$V1 = gsub("([[:punct:]])","",texto_col2$V1)
#Creamos una variable longitud de la palabra
texto_col2$largo = nchar(texto_col2$V1)
#Quitamos palabras cortas (también hay funciones que permiten quitar palabras comunes como de, en, para...)
texto_col2 = subset(texto_col2,largo>4 & largo<=10)
#crear dataframe
palabras_seguidores = data.frame(table(texto_col2$V1))
#Ordenamos
palabras_seguidores_f<-filter(palabras_seguidores, palabras_seguidores[["Freq"]]>3)
arrange(palabras_seguidores_f, desc(palabras_seguidores_f[["Freq"]]))
#Hacemos la nube de palabras
wordcloud(words = palabras_seguidores_f$Var1, freq = palabras_seguidores_f$Freq, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35,colors=brewer.pal(8, "Dark2"))

De esta forma, tendremos una tabla ordenada con las palabras más frecuentes y una nube de palabras que nos permitirá ver los resultados de una forma más sencilla y bonita. Por ejemplo, si lo hacemos con los seguidores de la academia digital para personas con discapacidad de Fundación ONCE, cuyos cursos hemos llevado a cabo, veremos algo parecido a esto:

análisis datos twitter

 

Como veis, de un solo vistazo vemos qué intereses tienen nuestros seguidores (o los seguidores de cualquiera) por orden de importancia, lo que nos da mucha información sobre ellos.

Optimizando followbacks

A la hora de crear una estrategia de followbacks efectiva no tenemos que perder el tiempo siguiendo a todo el que sigue a nuestra competencia para que nos siga de vuelta. Lo que debemos hacer es dirigirnos directamente a la gente que tiene potencial interés en nuestro tema, segmentada por lenguaje o localización y que además no sea de los que basan completamente en el followback su estrategia de crecimiento en redes sociales.

Para ello, podemos crear una columna nueva con la diferencia de seguidores y seguidos filtrando luego las filas con las características que nos interesan:

#creamos una columna nueva con la diferencia de seguidores y seguidos
followbackseguidores<-mutate(seguidores, DiferenciaSeguidos = followersCount-friendsCount)
#nos quedamos solo con las filas que tienen parámetros que nos interesan, en este caso lenguaje inglés con más seguidores que seguidos
followback1<-filter(followbackseguidores, lang=="en", DiferenciaSeguidos==TRUE)

Podemos incluso hilar más fino y quedarnos solo con los que en su descripción contienen ciertas palabras.

value <- “palabraquequieres”
followback2<-transmute(followback1, screenName, description, lang, DiferenciaSeguidos, contieneBD=grepl(value, followback1$description))
followback3<-followback2[followback2$contieneBD==TRUE,]

Analizando hashtags, sentimientos…

¿Te gustaría aplicar todo esto pero no sabes utilizar el lenguaje R? ¡Es más fácil de lo que parece!

En nuestro curso de Análisis de datos con R aprenderás de forma rápida a utilizar este lenguaje.
Inscríbete y pide más información


 Déborah Fernández, responsable de marketing y comunicación de datahack

Deja un comentario

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