[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