El primer ejemplo de este tema 2 genera una tabla con las frecuencias de la ideología percibida por los encuestados en el Estudio 2766 del CIS de junio de 2008. El archivo de trabajo es http://www.grserrano.es/datos/md2766parcial.zip. A diferencia de otros ejemplos, cuando se trabaja con encuestas es necesario tener a mano el cuestionario y cualquier otra información relevante sobre la misma, por lo que en el archivo comprimido se han incluido, además de un subconjunto de variables de la encuesta, el cuestionario, ficha técnica y fichas de respuesta. Antes de ejecutar el ejemplo, descarge el archivo, descomprímalo en un directorio y revise la documentación. No olvide cambiar la linea 2 del script para que apunte al directorio con los datos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | library(car); library(xtable) setwd("~/MasterEco/tema2") ## ADAPTA ESTA LÍNEA A TU EQUIPO md2766 < - read.csv("md2766p.csv") summary(md2766) table(md2766$P39) md2766$P39R <- md2766$P39 md2766$P39R[md2766$P39==98 | md2766$P39==99] <- NA (tab1 <- table(md2766$P39R)) tabideo <- cbind(Absolutas = tab1, Relativas = prop.table(tab1), Acumuladas= cumsum(prop.table(tab1)) ) print(xtable(tabideo, digits=c(0, 0, 4,4)), caption="Tabla de frecuencias de ideología política, junio 2008.", file="tab-ideo.tex") #print(xtable(tabideo, digits=c(0, 0, 4,4)), # caption="Tabla de frecuencias de ideología política, junio 2008.", # file="tab-ideo.html", type="HTML") pdf(file="bar-ideo.pdf") ## Otros formatos: ?Devices nn <- paste(c("Izquierda\n", rep("\n", 8), "Derecha\n"), 1:10, sep="") barplot(prop.table(tab1)*100, space=0.7, names=nn, xlab="Ideología del encuestado", ylab="Frecuencia (%)", main="Ideología (CIS, junio 2008)") dev.off() |
Como siempre, las primeras líneas se dedican a la carga de paquetes y datos. En este ejemplo, el paquete car proporciona la función recode, muy práctica para datos de encuestas. La instrucción summary de la línea 4 ofrece información sobre el conjunto devariables en el archivo (una pequeña parte de las disponibles en elarchivo original del CIS). En la línea 6 se tabula la pregunta de ideología, la P39, y se aprecia que aparecen dos valores especiales: 98 y 99, que indican que el encuestado no sabía o no quería contestar a la pregunta. Puesto que queremos la tabla de frecuencias de los que responden, se van a recodificar dichos valores especiales a NA. Para ello, primerose crea una nueva variable (P39R) en la línea 7 y después se cambian los valores que cumplen la condición. En la línea 10 se construye la tabla de frecuencias absolutas de la variable recodificada, que se guarda en tab1 para su uso posterior. En las líneas 11-13 se crea la tabla que aparece en la documentación del tema. La columna de frecuencias absolutas es directamente tab1, para obtener las frecuencias relativas se usa la función prop.table y para las acumuladas cumsum. En la misma instrucción se hacen los cálculos y se le asignan nombres descriptivos a las columnas de la tabla de frecuencias. Las líneas 14-16 se ocupan de generar un fichero de salida en formato LATEX, para la inclusión casi directa de la tabla en el documento.
Una alternativa es generar la tabla en HTML para incluirla en procesadoresde texto (líneas 17-19, comentadas). Las últimas líneas del script generan el gráfico. La línea 21 hace que el gráfico se vuelque a un archivo .pdf, para incluirlo en un documento LATEX, mientras que la línea 26 cierra el dispositivo. El gráfico se puede guardar en en muchos otros formatos, no todos disponibles en todas las plataformas, por lo que debe consultar la documentación de la función Devices para ver qué está disponible en su sistema. En la línea 22 se crean las etiquetas que marcaran las barras, añadiendo al número de la escala la palabra descriptiva que usa el CIS (izquierda para el 1 y derecha para el 10). La siguiente instrucción crea el gráfico a partir de una tabla de frecuencias (en este caso, las relativas, pero en %).
Thanks for some quality points there. I am kind of new to online , so I printed this off to put in my file, any better way to go about keeping track of it then printing?
The WordPress theme used here doesn’t have specific printing support.
Buenos días!
Estoy intentando hacer este ejemplo y entiendo cada uno de los pasos dados. El problema me surge en la línea 14, pues R me dice que no encuentra la función “xtable”. Y por más que la instalo en los paquetes (y creo que al final se queda instalada), al volver a correr el programa me surge el mismo problema.
Además de instalar el paquete xtable (install.packages("xtable")) hay que cargarlo con library(xtable). Esa instrucción debería estar al principio del ejemplo (ya lo he actualizado) y por eso no te funcionaba.
Ya veo que lo has resuelto antes de que me diera tiempo a responder. He corregido los enlaces en el texto. Gracias por detectar el gazapo.
Ya lo tengo y me ha salido el gráfocp de barras!!!!
Ya tengo el fichero, el link es http:/www.grserrano.es/datos/md2766parcial.zip.
Gracias de todas formas, voy a ver si me sale la tabla.
Buenos días,
Estoy intentando hacer este ejemplo y no puedo descargar el archivo,¿Qué hago mal??
Gracias
Mercedes