Comparamos los programas electorales de PP y PSOE con R

Replicamos el post anterior sobre el análisis del programa electoral del PP y lo comparamos con el programa electoral del PSOE. Programas electorales que presentan estos partidos políticos españoles de cara a las elecciones del 20-N. No vamos a entrar en el contenido de ambos programas, sólo nos limitamos a representar gráficamente su contenido con nubes de palabras.

Programa del PSOE:

programa_psoe.jpg

Programa del PP:

programa_pp.jpg

Esto que véis es el análisis más completo que hay sobre los programas electorales. Lo malo (o lo bueno) es que cada uno ha de sacar sus propias conclusiones.  Yo he sacado alguna impresión interesante. A continuación tenéis el código empleado para realizar estos gráficos. Emplea la librería snippets que nos dio a conocer Jose Luis para la realización de la nube de palabras. Recordad que tenéis que guardar en modo texto los programas electorales de ambos partidos y modificar la ubicación de los ficheros:

#Análisis del programa del PP
#Leemos el fichero de una ubicación de nuestro equipo
ubicacion="D:\\raul\\wordpress\\text minning R\\programa_PP.txt"
texto = read.table (ubicacion,sep="\r")
#Dejamos todas las palabras en mayúsculas
texto = toupper(texto$V1)
#El texto lo transformamos en una lista separada por espacios
texto_split = strsplit(texto, split=" ")
#Deshacemos esa lista y tenemos el data.frame
texto_col = as.character(unlist(texto_split))
texto_col = data.frame(texto_col)
names(texto_col) = c("V1")

#Eliminamos algunos caracteres regulares
texto_col$V1 = sub("([[:space:]])","",texto_col$V1)
texto_col$V1 = sub("([[:digit:]])","",texto_col$V1)
texto_col$V1 = sub("([[:punct:]])","",texto_col$V1)
#Creo una variable longitud de la palabra
texto_col$largo = nchar(texto_col$V1)
#Controles que utilizo
head(texto_col)
hist(texto_col$largo)

texto_col = subset(texto_col, largo>4)

#Nube de palabras
#install.packages('snippets',,'http://www.rforge.net/')
library(snippets)
wt <- table(texto_col$V1)
wt <- wt[wt>40]
jpeg('D:\\raul\\wordpress\\text minning R\\programa_pp.jpg', quality = 100,
bg = "white", res = 100, width=850, height=500)
cloud(wt, col = col.br(wt, fit=TRUE))
dev.off()

#Análisis del programa del PSOE
#Leemos el fichero de una ubicación de nuestro equipo
ubicacion="D:\\raul\\wordpress\\text minning R\\programa_Psoe.txt"
texto = read.table (ubicacion,sep="\r")
#Dejamos todas las palabras en mayúsculas
texto = toupper(texto$V1)
#El texto lo transformamos en una lista separada por espacios
texto_split = strsplit(texto, split=" ")
#Deshacemos esa lista y tenemos el data.frame
texto_col = as.character(unlist(texto_split))
texto_col = data.frame(texto_col)
names(texto_col) = c("V1")

#Eliminamos algunos caracteres regulares
texto_col$V1 = sub("([[:space:]])","",texto_col$V1)
texto_col$V1 = sub("([[:digit:]])","",texto_col$V1)
texto_col$V1 = sub("([[:punct:]])","",texto_col$V1)
#Creo una variable longitud de la palabra
texto_col$largo = nchar(texto_col$V1)
#Controles que utilizo
head(texto_col)
hist(texto_col$largo)

texto_col = subset(texto_col, largo>4)

wt <- table(texto_col$V1)
wt <- wt[wt>40]
jpeg('D:\\raul\\wordpress\\text minning R\\programa_psoe.jpg', quality = 100,
bg = "white", res = 100, width=850, height=500)
cloud(wt, col = col.br(wt, fit=TRUE))
dev.off()

9 comentarios en “Comparamos los programas electorales de PP y PSOE con R

  1. Hola Raúl,

    primero de todo me gustaría felicitarte por el excelente trabajo que haces con esta pàgina web. Soy estudiante de estadística y como ya te debes imaginar estos scrips que pones a disposición de todos són una grandísima ayuda.
    Me gustaría comentarte una cosita a ver si me puedes ayudar. Estoy intentando reproducir el gráfico de los programas electorales, cogiendo un texto diferente, todo funciona correctisimamente, excepto por una cosita, a la hora de graficar no me reconoce los accentos y me grafica simbolos muy raros, tienes alguna idea de a qué se puede deber esto?
    Muchisimas gracias!

  2. Hola me sale el siguiente error: Error en strwidth(names(w[i]), cex = cex) : valor de ‘cex’ no válido
    Además: Mensajes de aviso perdidos
    In max(w) : ningun argumento finito para max; retornando -Inf

    ¿Que hacer?

  3. Hola Raúl,

    Ante todo felicidades por la web y por los buenos tutoriales que nos das.

    Ayer probé reproducir las nubes con el discurso de investidura y me funcionó de maravilla! Ahora me queda ajustar algunas cosas de edición, pero eso lo haré poco a poco. Quería agradecértelo porque no sólo he aprendido a hacer este análisis con R sino que además estoy encontrando soluciones a mis scripts (a veces demasiado rebuscados).

    Un saludo.

  4. Resolvi el problema y supongo es el mismo para Jairo, mi archivo al menos no tenia palabras con una frecuencia mayor a 40 q es el corte q hace Raul. saludos

Deja un comentario

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

[bws_google_captcha]