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..

Sunday, February 10, 2013

R en [Previously saved workspace restored]


Este es un artículo para recordar..

Existen días en los que almacenar todo el ambiente de trabajo es importante, pero no siempre es así. Normalmente me molesta que restaure todas esas variables que alguna vez usé, porque:

1 - suele pasar que comienzas nuevos proyectos pesados y tienes variables que no utilizas, memoria RAM que es vital tener disponible.
2 - Pasa que de casualidad el nombre de la variable que utilizas en el nuevo proyecto se llama como una anterior variable, y bueno genera resultados inesperados xD.


Por esto responsablemente hay que ELIMINAR ESTAS VARIABLES. Para ello es necesario revisar si existe un archivo .RData en el directorio del cual se ejecutó R.

o hacer desde R getcwd() y en ese directorio eliminar el archivo .RData. De esta forma lo haces permanente.

rm .RData  // desde el directorio en tu terminal

otra forma de eliminar esto de forma temporal, igual no libera la misma cantidad de RAM es a través del comando

rm(list=ls())

Y Listo.

PD: La imagen es sobre algo que me da mucha risa, y si pudiese suceder en alguna realidad.. xD 



Monday, February 4, 2013

Dopelganger :)



La chica de blanco se parece a mi un poco :P,