Discussion:
[R-es] STATA base de datos
Antonio Rodriguez Andres
2017-12-06 11:55:01 UTC
Permalink
Tengo una base de datos muy grande en formato Stata, (dta), he probado a
leerla con el paquete foreign, y el comando
read.dta, pero como tiene 28 variables y casi medio millon de individuos,
cuando pruebo a hacer graficas o algo, me sale problema
de memoria.

Entonces, una solucion es intentar pasar de STATA a CSV y luego usar el
comando fread, y finalmente cargar los datos como RData.

SIn embargo he intentado

setwd("C:/Users/and0096/Desktop/TREXIMA")
library ('foreign')
write.table(read.dta(file.choose('private98-06more_than9.dta')),
file="output.csv", quote = FALSE, sep = ",")




Pero de esta manera me demora mucho, se queda el computador como colgado,
hay alguna otra manera de hacerlo mas rapida. El fichero de Stata
tiene bastante peso (726, 625 bytes). Solo llego al fichero output.csv.
He instalado el paquete data.table
pero cuando tecleo

datacz = as.data.frame(fread('output.csv'))


Error in fread("output.csv") : could not find function "fread"



Entiendo que algo mal estoy haciendo. Alguna idea mejor de como leer ese
fichero de STATA

Saludos cordiales

Antonio
--
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]]
Freddy Omar López Quintero
2017-12-06 12:03:35 UTC
Permalink
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
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.
Post by Antonio Rodriguez Andres
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]]
Antonio Rodriguez Andres
2017-12-06 12:05:57 UTC
Permalink
Freddy

el archivo lo leo en segundos en Stata. puedo probar el paquete heaven.
Pero si recuerdo me dio problemas en RStudio
Post by Antonio Rodriguez Andres
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]]
Antonio Rodriguez Andres
2017-12-06 12:09:47 UTC
Permalink
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete heaven.
Pero si recuerdo me dio problemas en RStudio
Post by Antonio Rodriguez Andres
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]]
Carlos Ortega
2017-12-06 12:32:52 UTC
Permalink
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
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
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Antonio Rodriguez Andres
2017-12-06 12:42:09 UTC
Permalink
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.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
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" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para procesar
un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera de
leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Carlos Ortega
2017-12-06 12:49:08 UTC
Permalink
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 <
Post by Carlos Ortega
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.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
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" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para procesar
un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera de
leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego usar
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Antonio Rodriguez Andres
2017-12-06 14:34:04 UTC
Permalink
Gracias Carlos. Voy a probar y te digo.
Post by Carlos Ortega
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 <
Post by Carlos Ortega
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.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete
heaven.
Post by Antonio Rodriguez Andres
Pero si recuerdo me dio problemas en RStudio
El 6/12/2017 13:03, "Freddy Omar López Quintero" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para
procesar un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera
de leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego usar
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Antonio Rodriguez Andres
2017-12-06 16:58:20 UTC
Permalink
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
Post by Carlos Ortega
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 <
Post by Carlos Ortega
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.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete
heaven.
Post by Antonio Rodriguez Andres
Pero si recuerdo me dio problemas en RStudio
El 6/12/2017 13:03, "Freddy Omar López Quintero" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para
procesar un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera
de leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego usar
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
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/editorial_team.htm?id=ajems

https://www.researchgate.net/profile/Antonio_Andres (Research Gate profile)

[[alternative HTML version deleted]]
Javier Marcuzzi
2017-12-06 21:03:33 UTC
Permalink
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 <
Post by Carlos Ortega
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
Post by Carlos Ortega
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 <
Post by Carlos Ortega
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.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete
heaven.
Post by Antonio Rodriguez Andres
Pero si recuerdo me dio problemas en RStudio
El 6/12/2017 13:03, "Freddy Omar López Quintero" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para
procesar un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera
de leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego
usar
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
comando fread, y finalmente cargar los datos como RData
¿Has probado el paquete haven y específicamente su función
read_dta?
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
Parece que es bastante más eficiente que la de foreign y preserva
más
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
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/
editorial_team.htm?id=ajems
https://www.researchgate.net/profile/Antonio_Andres (Research Gate profile)
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
Carlos Ortega
2017-12-06 21:32:09 UTC
Permalink
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 <
Post by Javier Marcuzzi
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 <
Post by Carlos Ortega
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
Post by Carlos Ortega
OK.
Lee primero los datos, guarda el data.frame (.RData o en un .csv o lo
que
Post by Carlos Ortega
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()".
Post by Carlos Ortega
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 <
Post by Carlos Ortega
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
Post by Carlos Ortega
Post by Carlos Ortega
cannot allocate memory.
Pense que podria leer los datos de otra manera mas eficiente.
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete
heaven.
Post by Antonio Rodriguez Andres
Pero si recuerdo me dio problemas en RStudio
El 6/12/2017 13:03, "Freddy Omar López Quintero" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para
procesar un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la manera
de leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego
usar
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
comando fread, y finalmente cargar los datos como RData
¿Has probado el paquete haven y específicamente su función
read_dta?
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
Parece que es bastante más eficiente que la de foreign y preserva
más
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Antonio Rodriguez Andres
2017-12-08 08:57:13 UTC
Permalink
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
Sí, estás un tanto al límite de la capacidad de tu ordenador.
- ¿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.
- Hacer un muestreo. Nada más cargar el conjunto puedes hacer algo
# 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
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 <
Post by Javier Marcuzzi
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 <
Post by Carlos Ortega
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
Post by Carlos Ortega
OK.
Lee primero los datos, guarda el data.frame (.RData o en un .csv o lo
que
Post by Carlos Ortega
quieras).
Sal de RStudio o incluso reinicia el ordenador para liberar el máximo
de
Post by Carlos Ortega
memoria.
Y comienza una nueva sesión con RStudio cargando los datos con
"fread()".
Post by Carlos Ortega
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 <
Post by Carlos Ortega
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
Post by Carlos Ortega
Post by Carlos Ortega
cannot allocate memory.
Pense que podria leer los datos de otra manera mas eficiente.
Post by Carlos Ortega
Pero entonces, ¿has leído ya el fichero en RStudio? ¿lo has
convertido
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
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 <
Post by Antonio Rodriguez Andres
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" <
Post by Antonio Rodriguez Andres
Freddy
el archivo lo leo en segundos en Stata. puedo probar el paquete
heaven.
Post by Antonio Rodriguez Andres
Pero si recuerdo me dio problemas en RStudio
El 6/12/2017 13:03, "Freddy Omar López Quintero" <
Post by Freddy Omar López Quintero
El mié, 06-12-2017 a las 12:55 +0100, Antonio Rodriguez Andres
me sale problema
de memoria.
Pregunta posiblemente tonta: ¿tienes suficiente memoria para
procesar un
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
archivo de tales dimensiones? Puede que ni aún cambiando la
manera
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
de leer
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
el archivo realmente lo puedas procesar.
Entonces, una solucion es intentar pasar de STATA a CSV y luego
usar
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
el
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
comando fread, y finalmente cargar los datos como RData
¿Has probado el paquete haven y específicamente su función
read_dta?
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
Parece que es bastante más eficiente que la de foreign y
preserva más
Post by Carlos Ortega
Post by Carlos Ortega
Post by Carlos Ortega
Post by Antonio Rodriguez Andres
Post by Antonio Rodriguez Andres
Post by Freddy Omar López Quintero
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
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
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]]
eric
2017-12-09 04:55:22 UTC
Permalink
_______________________________________________
R-help-es mailing list
R-help-***@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

eric
2017-12-06 12:44:58 UTC
Permalink
_______________________________________________
R-help-es mailing list
R-help-***@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
Continúe leyendo en narkive:
Loading...