Edson, Agradeço a sugestão. Vou experimentar. Abraços, Luiz Roberto
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia [email protected] skype: lrmpinto http://lattes.cnpq.br/2732314327604831 Em 23 de outubro de 2013 11:02, Edson Lira <[email protected]>escreveu: > Tem um pacote chamado ff que executa a leitura de arquivos grandes. > > Transforme seus dados para um arquivo .csv (caso não seja) e tente a > leitura com este pacote. > > > [ ]'s. > Edson Lira > Estatístico > Manaus-Amazonas > > > Em Quarta-feira, 23 de Outubro de 2013 5:35, Elias T Krainski < > [email protected]> escreveu: > Oi Luiz, > > O problema e' que vc tem 1000 niveis em cada um de dois fatores. Como a > funcao aov() usa a funcao lm(), esta monta a matriz de delineamento, ne > neste caso tem dimensao de um milhao por 1999. Para armazenar essa > matriz vc precisa de 14.9Gb > > print(object.size(double(1999))*1e6, unit='Gb') > > Se seu computador tivesse 16Gb de memoria vc conseguiria fazer > calculando as estatistica suficientes X'X e X'y. Foi o que eu fiz e > enviei X'X e X'y no seu e-mail. Mas isso ainda nao 'e a melhor solucao > nesse caso particular. > > Como vc nao tem fator continuo, e' muito barato computacionalmente fazer > o quadro de anova calculando as expressoes de soma de quadrados. > Dessa forma vc consegue montar um quadro de anova facilmente num > computador com pouca memoria. Note que seu dado consiste em apenas dois > fatores e uma resposta continua, cada um com 1 milhao de registros. Isso > ocupa apenas 19.2Mb em memoria > > print(object.size(Data), un='Mb') > > Veja como montar o quadro de anova: > > attach(Data) > n <- length(y) > ntr <- c(length(levels(block)), length(levels(Treat))) > gltot <- n-1 > gltra <- ntr - 1 > glres <- n - sum(ntr) > > correcao <- (sum(y)^2)/n > sqtot <- sum(y^2)-correcao > bltot <- tapply(y, block, sum) > trtot <- tapply(y, Treat, sum) > > sqbl <- sum(bltot^2)/ntr[2] - correcao > sqtr <- sum(trtot^2)/ntr[1] - correcao > sqres <- sqtot - sqbl - sqtr > > qmbl <- sqbl/gltra[1] > qmtr <- sqtr/gltra[2] > qmres <- sqres/glres > > fval <- c(qmbl, qmtr)/qmres > pval <- pf(fval, gltra, glres, lower.tail=FALSE) > > data.frame(gl=c(gltra, glres, gltot), > sqt=c(sqbl, sqtr, sqres, sqtot), > qm=c(qmbl, qmtr, qmres, NA), > fval=c(fval, NA, NA), > pval=c(pval, NA, NA)) > > > On 10/22/2013 08:13 PM, Luiz Roberto Martins Pinto wrote: > > Caros companheiros da R-BR. > > > > Não consigo fazer uma ANOVA com arquivo com 1e+06 registros. > > Então... preciso de ajuda!!! > > > > Dados: > > > > http://www1.datafilehost.com/d/c0d31775 > > > > Meu pc > > R for windows 2.15.1(x64) > > 8 Gb de Memo > > > > load('RCBD_Data.Rdata') # Arquivo com 1e+06 registros > > > > m=aov(y~Treat+block,data=Data) > > summary(m) > > > > Mensagem de erro: > > > > Erro: não é possível alocar vetor de tamanho 14.9 Gb > > Além disso: Mensagens de aviso perdidas: > > 1: In model.matrix.default(mt, mf, contrasts) : > > Reached total allocation of 8086Mb: see help(memory.size) > > 2: In model.matrix.default(mt, mf, contrasts) : > > Reached total allocation of 8086Mb: see help(memory.size) > > 3: In model.matrix.default(mt, mf, contrasts) : > > Reached total allocation of 8086Mb: see help(memory.size) > > 4: In model.matrix.default(mt, mf, contrasts) : > > Reached total allocation of 8086Mb: see help(memory.size) > > > > > > Luiz Roberto Martins Pinto > > Prof. Pleno/DCET/UESC > > Laboratório de Estatística Computacional > > Universidade Estadual de Santa Cruz > > Ilhéus-Bahia > > > > [email protected] <mailto:[email protected]> > > skype: lrmpinto > > http://lattes.cnpq.br/2732314327604831 > > > > > > > > > > _______________________________________________ > > 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. > > > > _______________________________________________ > 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. > > > > _______________________________________________ > 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. >
_______________________________________________ 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.
