Showing posts with label twitter. Show all posts
Showing posts with label twitter. Show all posts

Sunday, May 26, 2013

D3 js una alternativa, para hacer visualizaciones con Javascript.



En este caso realicé un treemap de las aplicaciones de cliente para twitter que usaron las personas para hacer tweets en el flisol 2012 y que tuvieran en su "location" alguna información o palabra de estados de venezuela, o venezuela en sus distintas formas y además que mostrara el tamaño del cuadro con respecto a la cantidad de followers que tiene el usuario:

El ejemplo del treemap fue tomado de acá: http://bl.ocks.org/mbostock/4063582

Y Quiero hacer estas modificaciones: http://www.billdwhite.com/wordpress/2012/12/16/d3-treemap-with-title-headers/

pero será para otro post y en otro tiempo:

El enlace del resultado está acá: Flisol 2012 App de Twitter

El código es Js y html, con un wget de esto les funcionará.

La data formateada la realicé con varios scripts.

0 Obtener la data de los usuarios de acuerdo a los Ids. los Ids los pueden conseguir acá:

Github J3nnn1 Ids Twitter 

1 Pasar de CSV a Json al fomato que recibe el layout de treemap.

importante:
Ayuda a corregir si un json está mal formado! :)

http://jsonformatter.curiousconcept.com/#jsonformatter



Thursday, February 28, 2013

Twitter permite bajar todos tus tweets

      Luego que twitter permitiera descargar todos tus tweets,  hice una nube de palabras con la librería de R y la librería tm. En general sólo necesitas 2, pero con el colorcito son 3:

library("tm")
library("wordcloud")
library("RColorBrewer")

      Sin analisis temporal, paso todos los tweets a un archivo (bag of words):
aproximadamente 22000 palabras diferentes desde el 2009 hasta ahora en
8999 tweets. Sí, lo sé, tweet-a-holic en rehabilitación (hay peores :P).

      La buena Noticias es si han cambiado los temas menos "Yoiismo"  (el arte de hablar de cada actividad que realizá uno mismo), a mencionar enlaces y opiniones de  linux, datamining, R, y varios lenguajes de programación.

cut -d, -f8 tweets.csv  > corpustweets.txt

Luego leo este archivo desde R.
en mi sistema de archivo existe la carpeta tweets/corpus/tweets.txt

txt =  DirSource('C:\\tweets\\corpus')    //Esto debe ser un directorio.
tweets.corpus = Corpus(txt)
                //extensión del tipo de archivo.

Luego hacemos la matriz de documentos y la conversión a una matriz ordinaria (matrix)
Filtrado de signos de puntuación, llevando a minúscula y eliminando stopwords (palabras que no añaden semantica a la oración, como artículos y conjunciones: el , la, otros, y, etc).
 tweets.corpus <- tm_map(tweets.corpus, removePunctuation)  
 tweets.corpus <- tm_map(tweets.corpus, tolower)  
 tweets.corpus <- tm_map(tweets.corpus, function(x) removeWords(x, stopwords("spanish")))  
 tweets.corpus <- tm_map(tweets.corpus, function(x) removeWords(x, stopwords("english")))  
 wordcloud(d$word,d$freq, scale=c(8,.3),min.freq=2,max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2, ordered.colors=T, vfont=c("sans serif","gothic english","plain"))  


//otras funciones que realizan similares 
commonality.cloud(m, comonality.measure=min) 
comparison.cloud(m)

Más info en: 
 
http://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf

script R:  
 
https://github.com/j3nnn1/tools/blob/master/twitter/wordcloudTwitterText.r


En otro post revisaré un poco reglas de asociación, clustering de palabras, 

correlaciones, un ranking de mis seguidores, y luego un poco de grafos..