Difference between revisions of "Hacer un análisis de texto"
From Gender and Tech Resources
|  (→Pasos) |  (→Pasos) | ||
| Line 21: | Line 21: | ||
| * Indicar a R que debe cargar las librerías: | * Indicar a R que debe cargar las librerías: | ||
| − | > require(XML) | + |  > require(XML) | 
| − | > require(tm) | + |  > require(tm) | 
| − | > require(wordcloud) | + |  > require(wordcloud) | 
| − | > require(RColorBrewer) | + |  > require(RColorBrewer) | 
| * Pedirle a R que lea nuestro archivo y lo agregue como datos: | * Pedirle a R que lea nuestro archivo y lo agregue como datos: | ||
| − | > Datos <- Corpus(DirSource("~/Directorio/"))   | + |  > Datos <- Corpus(DirSource("~/Directorio/"))   | 
| * Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):   | * Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):   | ||
| − | > Datos <- tm_map(Datos,stripWhitespace) | + |  > Datos <- tm_map(Datos,stripWhitespace) | 
| − | > Datos <- tm_map(Datos,tolower) | + |  > Datos <- tm_map(Datos,tolower) | 
| > Datos <- tm_map(Datos,removeNumbers) | > Datos <- tm_map(Datos,removeNumbers) | ||
| Line 43: | Line 43: | ||
| > Datos <- tm_map(Datos,removeWords,stopwords("spanish")) | > Datos <- tm_map(Datos,removeWords,stopwords("spanish")) | ||
| − | > Datos <- tm_map(Datos,removePunctuation) | + |  > Datos <- tm_map(Datos,removePunctuation) | 
|   > Datos <- tm_map(Datos,stemDocument) |   > Datos <- tm_map(Datos,stemDocument) | ||
| − | > Datos <- tm_map(Datos, PlainTextDocument) | + |  > Datos <- tm_map(Datos, PlainTextDocument) | 
| * Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png   | * Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png   | ||
| − | > png("~/nubetexto.png", width=640,height=600) | + |  > png("~/nubetexto.png", width=640,height=600) | 
| − | > wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2")) | + |  > wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2")) | 
| − | > dev.off() | + |  > dev.off() | 
| Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce. | Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce. | ||
Revision as of 19:52, 19 December 2016
Los análisis de texto pueden ser herramientas poderosas para generar información estadística de discursos y tener mecanismos de visualización cuantitativos sobre narrativas. Actualmente son muy usadas para hacer Big Data en redes sociales y una forma de visualizarlos es generando “word clouds” (Nubes de Palabras). En este tutorial compartimos como hacer un análisis a partir del software estadístico R [1]
Requisitos
Tener Instalado el paquete R y las librerías: XML
tm
wordcloud
RColorBrewer
Pasos
- Crear un documento de texto simple (.txt) con la información para analizar.
- Abrir R en la terminal
- Indicar a R que debe cargar las librerías:
> require(XML)
> require(tm)
> require(wordcloud)
> require(RColorBrewer)
- Pedirle a R que lea nuestro archivo y lo agregue como datos:
> Datos <- Corpus(DirSource("~/Directorio/")) 
- Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):
> Datos <- tm_map(Datos,stripWhitespace)
> Datos <- tm_map(Datos,tolower)
> Datos <- tm_map(Datos,removeNumbers)
> Datos <- tm_map(Datos,removeWords,stopwords("spanish"))
> Datos <- tm_map(Datos,removePunctuation)
> Datos <- tm_map(Datos,stemDocument)
> Datos <- tm_map(Datos, PlainTextDocument)
- Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png
> png("~/nubetexto.png", width=640,height=600)
> wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2"))
> dev.off()
Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce.
Aquí la mía:
Más información
Para más información puedes ver:
https://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf
https://georeferenced.wordpress.com/2013/01/15/rwordcloud/
