jueves, 5 de enero de 2012

De software propietario a libre. Lectura de ficheros de SPSS y R

SPSS es uno de los últimos pasos que me quedan en mi abandono progresivo de Windows y los programas propietarios. De hecho, mi último manuscrito lleva toda la estadística en R, sin ningún problema (regresiones logísticas paso a paso (el famoso anglicismo "stepwise"); uso del criterio de información Akaike; métodos Mantel-Haenszel para detección de variables confusoras con generación de figuras aclaratorias...). Sin embargo, hoy me he encontrado con un problema; tengo que hacer estadística con unos datos que solo tengo disponibles desde ficheros sav de SPSS. La función read.spss() del paquete foreign encontró un error en un punto determinado y era incapaz de recuperar para R el resto de los datos a partir del error. Para aquellos que tengan este mismo problema, la forma más sencilla es utilizar el propio SPSS y exportarlos en una formato legible por algún programa del que se disponga; por ejemplo, exportarlos con formato Excel y leerlos con Calc de LibreOffice. Con esta o cualquier otra aplicación de hoja de cálculo (por ejemplo gnumeric también vale) podemos convertir ese conjunto de datos en un fichero de texto tabulado. Nosotros, no anglosajones, como usamos comas para separar los decimales, no podemos exportar a un fichero csv, pero un fichero de texto plano, columnas separadas por tabulado, con comas como indicador de decimales y con primera línea con nombre de variables incluido se puede leer directamente en R con una función -read.delim2()- así

datos<-read.delim2("fichero")

En mi caso no tengo a mi disposición en casa un ordenador con SPSS; en los otros ordenadores de trabajo, todos con Fedora 16, no he conseguido aun hacer funcionar las máquinas virtuales de VirtualBox con Windows XP preparadas para el uso de SPSS, así que estaba en un problema. Por suerte, el software libre está siempre ahí para sacarnos de los problemas. He recurrido a PSPP, la aplicación libre alternativa a SPSS. con él he podido abrir perfectamente los ficheros para luego poder usarlos en R (o en el propio PSPP, llegado el caso).
Respecto a la pregunta del millón, ¿de donde viene el acrónimo de PSPP? No existe esa respuesta; mirar aquí.

3 comentarios:

  1. Hola..quisiera saber si me puedes ayudar, explicando cómo exportar a Excel

    ResponderEliminar
  2. Exportar ¿qué?
    Si es desde SPSS, puedes grabar los datos en xls, creo recordar. Si es desde libreOffice/OpenOffice, puedes grabar los datos como xls. Si es desde gnumeric, nunca me lo he planteado, pero estoy seguro que guarda como xls. Dime que quieres exportar a excel. De todas maneras, cualquier programa que pueda guardar en formato texto, por ejemplo, un csv, o uno fichero separado por tabuladores luego se puede leer en excel.

    ResponderEliminar
  3. gracia por lo de spss libre. Viva la liberte!

    ResponderEliminar