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: [email protected]
To: [email protected]
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
[email protected] 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.
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es