[R-br] RES: RES: eficiência de m?=em?==?UTF-8?Q?=?UTF-8?Q?ória no R

Mauro Sznelwar sznelwar em uol.com.br
Quinta Maio 14 23:03:58 BRT 2015


#Veja se ajuda.

integer2binary <- function(x, min.digits=floor(logb(max(as.integer(x)), base
= 2)) + 1) {
  xi <- int64::as.uint64(x)
    if(any(is.na(xi) | ((x-xi)!=0)))
        print(list(ERROR="x not integer", x=x))
    
  N <- length(x)
    xMax <- max(int64::as.uint64(x))
  
    ndigits <-max(min.digits,(floor(logb(xMax, base=2))+1))
    Base.b <- array(NA, dim=c(N, ndigits))
    for(i in 1:ndigits) {
        Base.b[, ndigits-i+1] <- (x %% 2)
        x <- (x %/% 2)
    }
    if(N ==1) Base.b[1, ] else Base.b
}



interessa sim Mauro.

Agradeço a atenção.

Atenciosamente,

Fátima Nascimento
Estatística - CONRE nº 9439
Mestre em Ciência e Engª de Petróleo-PPGCEP/UFRN
Doutoranda no Programa de Pós-Graduação em Ciência e Engª de Petróleo-
PPGCEP/UFRN


> Sugiro transformar em arquivo binário, tem como fazer no R. Ele 
> cairia para 100Mb e conseguiria rodar. Há algum tempo já tive esta 
> rotina, caso te interesse esta solução eu posso procurar e te enviar.
> 
> prezados, boa noite.
> 
> Venho por meio deste solicitar uma dica de como fazer a 
> leitura(importação) de uma base de dados em formato txt, com 
> caracteres separados por ; e com 29 colunas e 1.520.171 linhas no R, 
> de uma maneira que não perca eficiência de memória.
> 
> estou fazendo a leitura usando o comando:
> 
> (dados <- read.table("SAJ_WIN1252.txt",header=T,dec=",",sep=";"))
> 
> Como o arquivo tem 3Gb, o R demora uns 10 min para abri-lo, mas não 
> consigo fazer mais nada porque o programa trava.
>  Alguém teria dicas de como me ajudar?
> 
> agradeço a atenção.
> 
> Atenciosamente,
> 
> Fátima Nascimento
> Estatística - UFRN
> Mestre em Ciência e Engª de Petróleo-PPGCEP/UFRN
> Doutoranda no Programa de Pós-Graduação em Ciência e Engª de 
> Petróleo- PPGCEP/UFRN


---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com



Mais detalhes sobre a lista de discussão R-br