GGPLOT2     HEALTH     R     EMISSIONS     STATISTICS     GIS   WRF Open Air Air Pollution  

lunes, 20 de febrero de 2012

La Estupidez de @ChileLiberal

Ok, todo partió con esto: El fabuloso tweet de @chileliberal


Se quejaban por la contaminación de HidroAysén, pero ahora queman neumáticos.
Feb 20 via web Favorite Retweet Reply

Osea, no quiero entrar en el detalle de los sistemas complejos, de la falta de diálogo entre las ciencias "exactas", y las ciencias "blandas", menos aún en la multi, pluri o transdisciplinaeridad, ya que cualquier persona que conozca la realidad de la zona y/o tenga sentimientos por la zona, se da cuenta que las declaraciones anteriores no son mas que una estúpidez, con todo respecto claro.

Bueno, les respondí con esto:


Y con ustedes... La Estupidez: "@chileliberal Se quejaban por la contaminación de HidroAysén, pero ahora queman neumáticos."
Feb 20 via web Favorite Retweet Reply

Ok, quizás me excedí, pero aveces cuando uno es muy ligero para decir las cosas, simplemente no se entiende. En otras palabras: Sometimes you gotta be tough.

Ellos reaccionaron y me añadieron la la lista de los "idiotas"... Luego me dijeron que eso me pasa por trollarlos y que ellos nunca trolean a nadie... ellos.


Entonces, como me dió mucha risa todo esto, y como me consideran un idiota, decidí darles un análisis a estos llamados a establecer un movimientos político INTEGRADOR... TAN PERO TAN AFECTUOSOS, SOLIDARIOS, HUMILDES Y TODAS ESAS MIERDAS... y que mejor que con R


library(twitteR)
chileliberal <- getUser('chileliberal')
#Gotu
cltweets <- userTimeline('chileliberal')
cltweetslarge <- userTimeline('chileliberal',n=1000)

#cltweetslarge podría haber tenido muchos nomres, sobra la imaginación pero pa que tanto

library(tm)
#esta librería es Text Data Mining
mydata.corpus <- Corpus(VectorSource(df))
df <- twListToDF(cltweetslarge)
attach(df)
names(df)

> names(df)
 [1] "text"         "favorited"    "replyToSN"    "created"      "truncated"  
 [6] "replyToSID"   "id"           "replyToUID"   "statusSource" "screenName

#Por supuesto que estamos interesados en text

mydata.corpus <- Corpus(VectorSource(text))
#construyendo el cuerpo
mydata.corpus <- tm_map(mydata.corpus, tolower)
#sacando minúsculas
mydata.corpus <- tm_map(mydata.corpus, removePunctuation)
#removiendo puntuaciones
my_stopwords <- c(stopwords('english'), 'prolife', 'prochoice', 'lo', 'que', 'una', 'del', 'por', 'las','eso','con','hay','para', 'los')
#Sacando la basura (http://www.youtube.com/watch?v=b67rpm3zxTo) creo que me faltó por eliminar algunas palabras
#pero estos cabros de @chileliberal escriben puros monosílabos

#me imagino que ya cachan donde va esto

mydata.dtm <- TermDocumentMatrix(mydata.corpus)
mydata.dtm

> mydata.dtm
A term-document matrix (694 terms, 100 documents)

Non-/sparse entries: 940/68460
Sparsity           : 99%
Maximal term length: 17
Weighting          : term frequency (tf)

#Ahora vamos a encontrar los términos frecuentes
findFreqTerms(mydata.dtm, lowfreq=2)

#Que tenemos...
> findFreqTerms(mydata.dtm, lowfreq=2)
  [1] "1939"            "ahí"             "ahora"           "alejandrovial" 
  [5] "alexisarayab"    "algo"            "alguien"         "algunos"       
  [9] "amor"            "antofagasta"     "años"            "artículo"      
 [13] "así"             "asumo"           "aunque"          "aysén"         
 [17] "ayseninos"       "bajo"            "bala"            "bien"          
 [21] "bloquear"        "bolivia"         "bueno"           "buenos"        
 [25] "cada"            "camioneros"      "carnaval"        "casa"          
 [29] "caso"            "centralismo"     "cerrado"         "chile"         
 [33] "chilenos"        "ciudad"          "coihaique"       "cómo"          
 [37] "confech"         "conoce"          "contra"          "cuando"        
 [41] "cubanos"         "debe"            "demandas"        "depeche"       
 [45] "derecho"         "desde"           "desplazamiento"  "destruir"      
 [49] "día"             "días"            "drogas"          "educación"     
 [53] "ellos"           "empezó"          "entre"           "esa"           
 [57] "escuelas"        "ese"             "esos"            "españa"        
 [61] "estado"          "están"           "este"            "estoy"         
 [65] "estudiantes"     "estudiantil"     "exactamente"     "falklands"     
 [69] "falso"           "fascismo"        "fascistas"       "físico"        
 [73] "fue"             "fuerza"          "gente"           "gobierno"      
 [77] "goya"            "hace"            "hidroaysén"      "historia"      
 [81] "hombre"          "hoy"             "impiden"         "isat"          
 [85] "jaimeparadahoyl" "jmvl27"          "ladysol"         "latercera"     
 [89] "legítimo"        "les"             "libro"           "libros"        
 [93] "lolitashu"       "mejor"           "menos"           "milicos"       
 [97] "mismo"           "mode"            "morrissey"       "mucho"         
[101] "muerte"          "museo"           "nadie"           "narvandi"      
[105] "nazis"           "neumáticos"      "niña"            "notable"       
[109] "nuestro"         "nuevo"           "olviden"         "oscargomeza"   
[113] "otras"           "otros"           "país"            "paso"          
[117] "pero"            "porque"          "preparador"      "problemas"     
[121] "protestar"       "protestas"       "qué"             "queman"        
[125] "quemaron"        "recursos"        "región"          "rodin"         
[129] "sebastiangomeza" "seguro"          "ser"             "serena"        
[133] "sergioibarra"    "sido"            "sobre"           "sociales"      
[137] "sólo"            "somos"           "son"             "supuesto"      
[141] "sus"             "también"         "tener"           "tengo"         
[145] "tienen"          "todo"            "todos"           "trolleado"     
[149] "unos"            "van"             "ver"             "via"           
[153] "viendo"     

#Wow, aparezco ahí, elemento 133, pero no me interesó ver que es lo escribían... así es

#Pero vamos a centrarnos en la palabra "fascismo" y veamos como se enlaza con otras palabras

 findAssocs(mydata.dtm, 'fascismo', 0.20)
       fascismo         bloquee      comunidada      grupúsculo       imponerse
           1.00            0.57            0.57            0.57            0.57
        imponga           parte        porfiado            puro            seas
           0.57            0.57            0.57            0.57            0.57
         sitiar           sitie         sujetos     oscargomeza       coihaique
           0.57            0.57            0.57            0.56            0.39
     camioneros          fuerza         aplasta           armas          calles
           0.31            0.31            0.27            0.27            0.27
   carerrajismo          conoce           creoq        despejar      diferencia
           0.27            0.27            0.27            0.27            0.27
        enemigo           estas          formar            gran httptconqhaisy5
           0.27            0.27            0.27            0.27            0.27
       incendio        ingresos          juntos        libertad        milicias
           0.27            0.27            0.27            0.27            0.27
      necesaria      procurarse         propios    protestantes       reichstag
           0.27            0.27            0.27            0.27            0.27
       rosvidie           sobre
           0.27            0.25

#luego, removimos los términos que no nos sirven
mydata.dtm2 <- removeSparseTerms(mydata.dtm, sparse=0.97)
#construimos nuestro dataframe
mydata.df <- as.data.frame(inspect(mydata.dtm2))
#y escalamos
mydata.df.scale <- scale(mydata.df)
#construimos cluster
d <- dist(mydata.df.scale, method = "euclidean")
fit <- hclust(d, method="ward")
#y graficamos
plot(fit, main="La Estupidez de ChileLiberal")
rect.hclust(fit, k=6, border="red")
rect.hclust(fit, k=6, border="red")


Nótese Como aparece Chile, Estado, SebastianGomezA (no tengo idea quien es... and i don't care), ladysol????, hasta que llegmaos que del mismo brazo que se desprende región, se divide en dos, escuelas. y FASCISTAS, que se divide en AYSENINOS Y NEUMÁTICOS... interesante.

Por otra parte vemos como DERECHO deriva directamente a FASCISMO (les gusta mucho esta palabra a esta gente) y a OscarGomezA (GIYF; not this case)

¿Podríamos decir que @chileliberal son en realidad fascistas?
No, pero si usan mucho esa palabra.

¿Pueden llamar a cualquiera Idiota?
Las palabras y los insultos no son mas que el reflejo de que es cada uno por dentro.

Referencias:
 R Development Core Team (2011). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/

Jeff Gentry (2012). twitteR: R based Twitter client. R package version 0.99.18. http://CRAN.R-project.org/package=twitteR.

Heuristic Andrew (2011). Text Data Mining with Twitter and R http://heuristically.wordpress.com/2011/04/08/text-data-mining-twitter-r.