|
Hola Antonio, solo como comentario ... tengo una maquina con
windows 8 que nada mas iniciar el sistema ya tiene ocupados mas de
1 GB de la RAM (~ 1.3 GB), cuanto ocupa la tuya ? por ese lado
puede que estes perdiendo RAM ... mi maquina debian/linux que uso
con R, arrancada con ICEWM como administrador de ventanas luego de
arrancar tiene ocupados un poco menos de 300 MB, por ahi podrias
ahorrarte RAM ... no se, es una idea.
Saludos !!
Eric.
On 12/08/2017 05:57 AM, Antonio
Rodriguez Andres wrote:
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 <[email protected]>:
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 <
[email protected]> 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 <
[email protected]> 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 <[email protected]>:
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 <
[email protected]> 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" <[email protected]>
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 <
[email protected]> 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" <
[email protected]> 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" <
[email protected]>
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
[email protected]
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
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.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.
|