[R-es] STATA base de datos

Carlos Ortega cof en qualityexcellence.es
Mie Dic 6 22:32:09 CET 2017


Sí, estás un tanto al límite de la capacidad de tu ordenador.
Varias cosas que no has comentado:

   - ¿Qué versión de R usas?
   - ¿Usas una versión de 32bits ó 64bits?.
   - ¿Windows?, supongo.
      - En Windows puedes ver los recursos de tu máquina y confirmar que
      cuando tienes el conjunto cargado en R estás muy al límite de tu RAM.

Con todo esto cosas que puedes hacer:

   - Hacer un muestreo. Nada más cargar el conjunto puedes hacer algo como
   esto:

# De esta forma te quedas con un 75% de los datos.

datos_samp <- datos[ sample(1:nrow(datos), nrow(datos)*0.75) , ]

rm(datos)

Y a partir de aquí ya trabajas con datos_samp


   - ​Puedes convertir tus datos​ a data.table (no sé si lo has usado
   antes... que permite comprimir el data.frame. Lo harías así:


library(foreign)

​library(data.table)​

datos = as.data.
​table​
(read.dta("private98-06more_than9.dta"))


Y a partir ya trabajar con "datos" como data.table.


Saludos,
Carlos Ortega
www.qualityexcellence.es


El 6 de diciembre de 2017, 22:03, Javier Marcuzzi <
javier.ruben.marcuzzi en gmail.com> escribió:

> Estimados
>
> Pienso que falta memoria, aparte de las sugerencias ya aportadas, de
> pronto se podrían colocar algunos rm(liberar_de_memoria), para no tener
> ocupado espacio que no es requerido porque ese paso ya fue realizado.
>
> Javier Rubén Marcuzzi
>
> El 6 de diciembre de 2017, 13:58, Antonio Rodriguez Andres <
> antoniorodriguezandres70 en gmail.com> escribió:
>
>> Carlos
>> He tecleado lo siguiente para leer el fichero de Stata
>>
>> library(foreign)
>> datos = as.data.frame(read.dta("private98-06more_than9.dta"))
>> save(datos, file="data.RData")
>> load("data.RData")
>> dim(datos)
>> class(datos)
>>
>> Tiene ese numero de filas y columnas que son las variables.
>>
>>  dim(datos)[1] 9418455      28
>>
>> Mi memoria RAM es 4GB, pero he conseguido leer los datos, y tambien
>> hacer un histograma de age, aunque es dificil ver algo por la cantidad
>> de individuos que hay en la base de datos.
>>
>> hist(datos$age, main="Titulo", xlab="Age")
>>
>> Ya cuando intento ver los valores perdidos con
>>
>> is.na(datos) me sale error
>>
>>
>> Error: cannot allocate vector of size 1006.0 Mb
>>
>> Saludos
>>
>>
>>
>> 2017-12-06 13:49 GMT+01:00 Carlos Ortega <cof en qualityexcellence.es>:
>>
>> > OK.
>> > Lee primero los datos, guarda el data.frame (.RData o en un .csv o lo
>> que
>> > quieras).
>> > Sal de RStudio o incluso reinicia el ordenador para liberar el máximo de
>> > memoria.
>> >
>> > Y comienza una nueva sesión con RStudio cargando los datos con
>> "fread()".
>> > Por otro lado, este conjunto de datos ¿cómo es de grande (filas y
>> > columnas)?.
>> >
>> > ¿Y qué máquina tienes?. ¿Cuanta RAM tienes?.
>> >
>> > Gracias,
>> > Carlos.
>> >
>> >
>> > El 6 de diciembre de 2017, 13:42, Antonio Rodriguez Andres <
>> > antoniorodriguezandres70 en gmail.com> escribió:
>> >
>> >> Carlos
>> >>
>> >> use library foreign, y read.dta. Consegui leer los datos. Pero demora
>> >> mucho. explore los datos con head y tail, y con summary. Conseguis los
>> >> resultados. Muy lento. Una cosa a. hacer es un histograma y ahi ya
>> ponia
>> >> cannot allocate memory.
>> >>
>> >> Pense que podria leer los datos de otra manera mas eficiente.
>> >>
>> >> El 6/12/2017 13:32, "Carlos Ortega" <cof en qualityexcellence.es>
>> escribió:
>> >>
>> >>> Pero entonces, ¿has leído ya el fichero en RStudio? ¿lo has convertido
>> >>> de Stata a csv o algún otro formato que con el que puedas trabajar en
>> >>> RStudio?.
>> >>> ¿O ahora el problema es que has convertido el fichero pero no puedes
>> >>> hacer ningún tipo de análisis porque tu equipo no tiene suficientes
>> >>> recursos?...
>> >>>
>> >>> Gracias,
>> >>> Carlos.
>> >>>
>> >>> El 6 de diciembre de 2017, 13:09, Antonio Rodriguez Andres <
>> >>> antoniorodriguezandres70 en gmail.com> escribió:
>> >>>
>> >>>> He llegado hacer un summary o algo asi. Despues de leerlo pero tarda
>> >>>> mucho.
>> >>>> Y si hago un histograma de una variable edad, hay colapsa.
>> >>>>
>> >>>> El 6/12/2017 13:05, "Antonio Rodriguez Andres" <
>> >>>> antoniorodriguezandres70 en gmail.com> escribió:
>> >>>>
>> >>>> > Freddy
>> >>>> >
>> >>>> > el archivo lo leo en segundos en Stata. puedo probar el paquete
>> >>>> heaven.
>> >>>> > Pero si recuerdo me dio problemas en RStudio
>> >>>> >
>> >>>> > El 6/12/2017 13:03, "Freddy Omar López Quintero" <
>> >>>> freddy.vate01 en gmail.com>
>> >>>> > escribió:
>> >>>> >
>> >>>> >> El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
>> >>>> escribió:
>> >>>> >>
>> >>>> >> me sale problema
>> >>>> >> de memoria.
>> >>>> >>
>> >>>> >>
>> >>>> >> Pregunta posiblemente tonta: ¿tienes suficiente memoria para
>> >>>> procesar un
>> >>>> >> archivo de tales dimensiones? Puede que ni aún cambiando la manera
>> >>>> de leer
>> >>>> >> el archivo realmente lo puedas procesar.
>> >>>> >>
>> >>>> >>
>> >>>> >> Entonces, una solucion es intentar pasar de STATA a CSV y luego
>> usar
>> >>>> el
>> >>>> >> comando fread, y finalmente cargar los datos como RData
>> >>>> >>
>> >>>> >>
>> >>>> >> ¿Has probado el paquete haven y específicamente su función
>> read_dta?
>> >>>> >> Parece que es bastante más eficiente que la de foreign y preserva
>> más
>> >>>> >> características que trae el formato de stata.
>> >>>> >>
>> >>>> >> ¡Ojalá algo sirva!
>> >>>> >>
>> >>>> >> ¡Salud!
>> >>>> >>
>> >>>> >> --
>> >>>> >>
>> >>>> >> «...homines autem hominum causa esse generatos...»
>> >>>> >>
>> >>>> >> Cicero
>> >>>> >>
>> >>>> >
>> >>>>
>> >>>>         [[alternative HTML version deleted]]
>> >>>>
>> >>>> _______________________________________________
>> >>>> R-help-es mailing list
>> >>>> R-help-es en r-project.org
>> >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Saludos,
>> >>> Carlos Ortega
>> >>> www.qualityexcellence.es
>> >>>
>> >>
>> >
>> >
>> > --
>> > Saludos,
>> > Carlos Ortega
>> > www.qualityexcellence.es
>> >
>>
>>
>>
>> --
>>
>> Member, Editorial Committee, *The Economic and Labour Relations Review* (a
>> SAGE journal)
>>
>> http://elr.sagepub.com/
>>
>> Member, Editorial Committee, African Journal of Economic and Management
>> Studies
>>
>> http://emeraldgrouppublishing.com/products/journals/editoria
>> l_team.htm?id=ajems
>>
>> https://www.researchgate.net/profile/Antonio_Andres (Research Gate
>> profile)
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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