[R-es] STATA base de datos
Antonio Rodriguez Andres
antoniorodriguezandres70 en gmail.com
Vie Dic 8 09:57:13 CET 2017
Carlos, Javier y demas usuarios que respondieron la duda
Uso Windows, y la version de R que uso es
R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
La memoria Ram del ordenador es de 4 GB y usa Windows 8. Ayer use la 2
opcion, y borre los datos que tenia con rm () y
despues teclee gc(). Me demoro como dos minutos en ejecutar el script,
pero lo va haciendo.Otra opcion como dices es seleccionar una parte de
la muestra e ir trabajando con eso, y luego una vez que lo tengo claro
puedo ejecutar el script con todos los datos.
Por ultimo lo que yo tengo es un panel de datos, con individuos y la
variable tiempo. Tengo la variable year y el id que identifica los
individuos en el tiempo. Finalmente te pongo la distribucion del numero de
observaciones en el tiempo
> tail(datos) year idorg idzam id typ drvl zemea zemeb nace2
1: 2006 18985 50000 1898550000 1 4 CZ 60
2: 2000 20620 50000 2062050000 1 9 65
3: 2006 4136 222 413600222 1 2 CZ 74
4: 2005 7004 50000 700450000 1 7 FR 74
5: 2005 11063 50000 1106350000 1 2 29
6: 2002 8682 50000 868250000 1 4 64
> table (datos$year)
1998 1999 2000 2001 2002 2003 2004
790355 822131 863246 928732 1013467 1082701 1168270
2005 2006
1273828 1475725
Saludos y muchas gracias de antemano
Antonio
2017-12-06 22:32 GMT+01:00 Carlos Ortega <cof en qualityexcellence.es>:
> 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
>
--
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/editorial_team.htm?id=ajems
https://www.researchgate.net/profile/Antonio_Andres (Research Gate profile)
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es