[R-br] Não consigo fazer uma ANOVA com arquivo com 1e+06 registros.

Elias T Krainski eliaskrainski em yahoo.com.br
Quinta Outubro 24 05:53:26 BRST 2013


O problema com biglm() e' essa linha:
     mm <- model.matrix(tt, mf)
sorry :)

biganalytics eu nao conheco... faz swap?

On 10/23/2013 11:17 PM, Benilton Carvalho wrote:
> Sugestão completamente sem checar dados: biglm ou mesmo o biganalytics
> (sugestão por esse último, já que o usuário não parece ter RAM
> suficiente) foram tentados?
>
> On Oct 23, 2013 12:24 PM, "Luiz Roberto Martins Pinto"
> <luizroberto.uesc em gmail.com <mailto:luizroberto.uesc em gmail.com>> wrote:
>
>     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
>
>     luizroberto.uesc em gmail.com <mailto:luizroberto.uesc em gmail.com>
>     skype: lrmpinto
>     http://lattes.cnpq.br/2732314327604831
>
>
>
>
>     Em 23 de outubro de 2013 11:02, Edson Lira <edinhoestat em yahoo.com.br
>     <mailto:edinhoestat em yahoo.com.br>> 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
>         <eliaskrainski em yahoo.com.br <mailto:eliaskrainski em yahoo.com.br>>
>         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
>          >
>          > luizroberto.uesc em gmail.com
>         <mailto:luizroberto.uesc em gmail.com>
>         <mailto:luizroberto.uesc em gmail.com
>         <mailto:luizroberto.uesc em gmail.com>>
>          > skype: lrmpinto
>          > http://lattes.cnpq.br/2732314327604831
>          >
>          >
>          >
>          >
>          > _______________________________________________
>          > R-br mailing list
>          > R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>          > 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
>         R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>         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
>         R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>         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
>     R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>     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
> R-br em listas.c3sl.ufpr.br
> 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.
>


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