[R-es] problema al importar una BD que esta en formato de SPSS

eric ericconchamunoz en gmail.com
Mie Mar 2 16:32:21 CET 2016


Estimados, gracias por sus sugerencias .... no estoy seguro de las 
razones del problema al importar a R la BD en formato spss, pero por la 
solucion que encontre, parece que fuera un problema de los importadores 
(probe importando con todos los paquetes que aparecen mencionados en el 
la internet) ...

al final el problema se resolvio instalando PSPP (en Debian/linux) y 
usando la utilidad pspp-convert para transformar el archivo *.sav en 
*.csv y luego lei eso sin problemas en R. (nunca entre en PSPP por si 
acaso, no lei el archivo y luego lo exporte, si no que lo transfore 
directamente en .csv)

Eso, por si a alguien le sirve.

Muchas gracias,

Eric.





On 02/29/2016 04:22 PM, Ruben Bermad wrote:
> Hola Eric,
>
> Lo mas probable es que tengas algun registro que no sea numerico, y te
> este modificando la clase de la columna.
> Haz un chequeo rapido con unique() o con levels(). Al tener tantos
> registros si es un caracter deberia de aparecerte al principio o al
> final de unique() por lo que puedes probar a buscarlo ordenando el
> resultado de unique() de mayor a menor y de menor a mayor. Asi lo veras
> rapidamente.
>
> Si se te ha transformado en factor lo que tienes que hacer es eliminar
> ese error (asumo que solo deberia haber registros numericos), y
> transformarlo en numerico mediante: " as.numeric(levels(columna))[columna]".
>
> Si no tienes ningun registro raro y no numerico prueba a transformar la
> columan con as.integer() directamente.
>
> A ver si eso te funciona
>
>
>
> From: ericconchamunoz en gmail.com
> To: r-help-es en r-project.org
> Date: Mon, 29 Feb 2016 14:50:27 -0300
> Subject: [R-es] problema al importar una BD que esta en formato de SPSS
>
> Estimados, tengo que hacer un calculo muy simple, pero con una BD mas o
> menos grande (250mil filas x 500 columnas) ... esta BD esta en formato
> de SPSS y la importo asi:
>
> library(foreign)	
> bdr <- read.spss("CASEN_2013_MN_B_Principal.sav",
> use.value.labels=FALSE, to.data.frame=TRUE)
>
>
> luego, quiero transformar el DF en un data.tale pues el calculo requiere
> obtener promedios de acuerdo a ciertos criterios, lo que es muy facil
> especificar con DT y el calculo es bastante rapido tambien ...
>
> pero al tratar de transformar bdr a data.table
>
> bdr <- as.data.table(bdr)
>
>
> me transforma las columnas con los datos numericos que debo usar, en
> characteres, y al tratar de volverlas a datos numericos con as.numeric()
> me reemplaza todos los datos con NA
>
>
> que estoy haciendo mal ?
>
> adjunto algunas filas del archivo, muchas gracias,
>
>
> Eric.
>
>
>
> --
> Forest Engineer
> Master in Environmental and Natural Resource Economics
> Ph.D. student in Sciences of Natural Resources at La Frontera University
> Member in AguaDeTemu2030, citizen movement for Temuco with green city
> standards for living
>
> Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
> lectores de correo.
>
>
> _______________________________________________ R-help-es mailing list
> R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es

-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city 
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos 
lectores de correo.



Más información sobre la lista de distribución R-help-es