[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