#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
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.