<div dir="ltr">Rogério,<div><br></div><div>Agradeço a sua generosidade.</div><div><br></div><div>Abraços,</div><div><br></div><div>Luiz Roberto</div></div><div class="gmail_extra"><br clear="all"><div><div>Luiz Roberto Martins Pinto<br>
Prof. Pleno/DCET/UESC</div><div>Laboratório de Estatística Computacional</div><div>Universidade Estadual de Santa Cruz</div><div>Ilhéus-Bahia<br><br><a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a><br>
skype: lrmpinto</div>
<div><a href="http://lattes.cnpq.br/2732314327604831" target="_blank">http://lattes.cnpq.br/2732314327604831</a> <br><br><br></div></div>
<br><br><div class="gmail_quote">Em 23 de outubro de 2013 21:29, Rogério Barbosa <span dir="ltr"><<a href="mailto:antrologos@gmail.com" target="_blank">antrologos@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">O código abaixo toma partes de  scripts do PDF dos pacotes ff e ffbase. <div><br></div><div>Eu testei com seus dados  e deu certo. Mas na hora de copiar e colar para o e-mail, houve erros... Acho que agora está certo.</div>


<div>Mas ressalto, isso é só uma regressão linear. Não sei como calcular o two-way anova a partir disso.. somente uma anova comum. Mas estou certo de que tem jeito... </div><div><br></div><div><div><div><br></div><div><div class="im">
<div>

#####################################</div><div><br></div><div>require(ff)</div><div>require(ffbase)</div><div>require(biglm)</div><div><br></div><div>load("RCBD_Data.Rdata")</div><div><br></div><div>dados.ff = as.ffdf(Data)</div>


<div>rm(Data)</div><div>gc()</div><div><br></div></div><div class="im"><div>form = y ~ factor(Treat) + factor(block)</div><div><br></div></div><div class="im"><div>for (i in chunk(dados.ff, by=25000)){<br></div><div>  if (i[1]==1){</div>
<div>    message("first chunk is: ", i[[1]],":",i[[2]])</div>

<div>    biglmfit <- biglm(form, data=dados.ff[i,,drop=FALSE])</div><div>  }else{</div><div>    message("next chunk is: ", i[[1]],":",i[[2]])</div></div><div>    biglmfit <- update(biglmfit, dados.ff[i,,drop=FALSE])</div>


<div>  }</div><div>}</div><div><br></div><div>summary(biglmfit)</div></div></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/23 Luiz Roberto Martins Pinto <span dir="ltr"><<a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a>></span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Agora deu o seguinte erro...<div><br></div><div>Erro em is.data.frame(data) : objeto 'firis' não encontrado<br>


</div><div><br></div></div><div class="gmail_extra"><div><br clear="all"><div><div>Luiz Roberto Martins Pinto<br>
Prof. Pleno/DCET/UESC</div><div>Laboratório de Estatística Computacional</div><div>Universidade Estadual de Santa Cruz</div><div>Ilhéus-Bahia<br><br><a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a><br>



skype: lrmpinto</div>
<div><a href="http://lattes.cnpq.br/2732314327604831" target="_blank">http://lattes.cnpq.br/2732314327604831</a> <br><br><br></div></div>
<br><br></div><div class="gmail_quote">Em 23 de outubro de 2013 19:56, Rogério Barbosa <span dir="ltr"><<a href="mailto:antrologos@gmail.com" target="_blank">antrologos@gmail.com</a>></span> escreveu:<div><div>

<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">desculpe, foi um erro. A linha correta é:<div><br></div><div>form = y ~ factor(Treat) + factor(block)<br></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
2013/10/23 Luiz Roberto Martins Pinto <span dir="ltr"><<a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Rogério,<div><br></div><div>Agradeço sua colaboração, e o script enviado.</div><div><br></div><div>O comando <span style="font-family:arial,sans-serif;font-size:13px">form(y ~ factor(Treat) + factor(block)) não foi aceito.</span></div>






<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>






</span></div></div><div class="gmail_extra"><div><br clear="all"><div><div>Luiz Roberto Martins Pinto<br>Prof. Pleno/DCET/UESC</div><div>Laboratório de Estatística Computacional</div><div>Universidade Estadual de Santa Cruz</div>






<div>Ilhéus-Bahia<br><br><a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a><br>skype: lrmpinto</div>
<div><a href="http://lattes.cnpq.br/2732314327604831" target="_blank">http://lattes.cnpq.br/2732314327604831</a> <br><br><br></div></div>
<br><br></div><div class="gmail_quote">Em 23 de outubro de 2013 19:24, Rogério Barbosa <span dir="ltr"><<a href="mailto:antrologos@gmail.com" target="_blank">antrologos@gmail.com</a>></span> escreveu:<div><div>

<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">O biglm funciona bem. Apliquei nos dados do Luiz Roberto e deu certo. Mas é bem lento (a função rxLinMod do pacote RevoScalerR, do RevolutionR é bemmm mais rápida). Mas se o negócio é continuar usando o R convencional, então funciona bem.<div>









<br></div><div>Segue abaixo o código.<br></div><div><br></div><div>Mas a função "aov" não funciona em cima do objeto gerado pelo biglm (e funciona em cima do lm...)</div><div><br></div><div>Eu não sei como calcular um two-way anova a partir desses resultados... mas creio que tem jeito. Aliás... gostaria muito mesmo de saber como fazê-lo.</div>








<div><br></div><div>Ma se o objetivo não envolve diferenciar os quadrados de regressão entre as variáveis "Treat" e "block", então um anova simples é facil de calcular -- a partir dos valores preditos e resíduos.</div>








<div><br></div><div><br></div><div>abraços,<br></div><div>Rogério</div><div><br></div><div><div>#####################################</div><div><div><br></div><div><div>require(ff)<br></div><div>require(ffbase)</div><div>








require(biglm)</div><div><br></div><div>load("RCBD_Data.Rdata")<br>
</div><div><br></div><div>dados.ff = as.ffdf(Data)</div><div>rm(Data)</div><div>gc()</div><div><br></div><div>form(y ~ factor(Treat) + factor(block))</div><div><br></div><div><br></div><div>for (i in chunk(dados.ff, by=25000)){<br>









</div><div>  if (i[1]==1){</div><div>    message("first chunk is: ", i[[1]],":",i[[2]])</div><div>    biglmfit <- biglm(form, data=dados.ff[i,,drop=FALSE])</div><div>  }else{</div><div>    message("next chunk is: ", i[[1]],":",i[[2]])</div>









<div>    biglmfit <- update(biglmfit, firis[i,,drop=FALSE])</div><div>  }</div><div>}</div><div><br></div></div></div></div><div><div><div><br></div><div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">







2013/10/23 Benilton Carvalho <span dir="ltr"><<a href="mailto:beniltoncarvalho@gmail.com" target="_blank">beniltoncarvalho@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">









<p dir="ltr">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? </p><div><div>
<div class="gmail_quote">On Oct 23, 2013 12:24 PM, "Luiz Roberto Martins Pinto" <<a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">










<div dir="ltr">Edson,<div><br></div><div>Agradeço a sugestão.</div><div>Vou experimentar.</div><div>Abraços,</div><div>Luiz Roberto</div></div><div class="gmail_extra"><br clear="all"><div><div>Luiz Roberto Martins Pinto<br>











Prof. Pleno/DCET/UESC</div><div>Laboratório de Estatística Computacional</div><div>Universidade Estadual de Santa Cruz</div><div>Ilhéus-Bahia<br><br><a href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a><br>











skype: lrmpinto</div>
<div><a href="http://lattes.cnpq.br/2732314327604831" target="_blank">http://lattes.cnpq.br/2732314327604831</a> <br><br><br></div></div>
<br><br><div class="gmail_quote">Em 23 de outubro de 2013 11:02, Edson Lira <span dir="ltr"><<a href="mailto:edinhoestat@yahoo.com.br" target="_blank">edinhoestat@yahoo.com.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">











<div><div style="font-size:12pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><div><span>Tem um pacote chamado ff que executa a leitura de arquivos grandes.</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif">











<span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif">Transforme seus dados para um arquivo .csv (caso não seja) e tente a leitura com este pacote.</div>











<div></div><div> </div><div><br></div><div>[  ]'s.</div><div><span style="font-size:12pt">Edson Lira</span><br></div><div>Estatístico<br>Manaus-Amazonas</div><div style="display:block"> <br> <br> <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt">











 <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt"> <div dir="ltr"> <font face="Arial"> Em Quarta-feira, 23 de Outubro de 2013 5:35, Elias T Krainski <<a href="mailto:eliaskrainski@yahoo.com.br" target="_blank">eliaskrainski@yahoo.com.br</a>> escreveu:<br>











 </font> </div><div><div>  <div>Oi Luiz,<br clear="none"><br clear="none">O problema e' que vc tem 1000 niveis em cada um de dois fatores. Como a <br clear="none">funcao aov() usa a funcao lm(), esta monta a matriz de delineamento, ne <br clear="none">











neste caso tem dimensao de um milhao por 1999. Para armazenar essa <br clear="none">matriz vc precisa de 14.9Gb<br clear="none"><br clear="none">print(object.size(double(1999))*1e6, unit='Gb')<br clear="none"><br clear="none">











Se seu computador tivesse 16Gb de
 memoria vc conseguiria fazer <br clear="none">calculando as estatistica suficientes X'X e X'y. Foi o que eu fiz e <br clear="none">enviei X'X e X'y no seu e-mail. Mas isso ainda nao 'e a melhor solucao <br clear="none">











nesse caso particular.<br clear="none"><br clear="none">Como vc nao tem fator continuo, e' muito barato computacionalmente fazer <br clear="none">o quadro de anova calculando as expressoes de soma de quadrados.<br clear="none">











Dessa forma vc consegue montar um quadro de anova facilmente num <br clear="none">computador com pouca memoria. Note que seu dado consiste em apenas dois <br clear="none">fatores e uma resposta continua, cada um com 1 milhao de registros. Isso <br clear="none">











ocupa apenas 19.2Mb em memoria<br clear="none"><br clear="none">print(object.size(Data), un='Mb')<br clear="none"><br clear="none">Veja como montar o quadro de anova:<br clear="none"><br clear="none">attach(Data)<br clear="none">











n <- length(y)<br clear="none">ntr <- c(length(levels(block)), length(levels(Treat)))<br clear="none">gltot <- n-1<br clear="none">gltra <- ntr - 1<br clear="none">glres <- n - sum(ntr)<br clear="none"><br clear="none">











correcao <- (sum(y)^2)/n<br clear="none">sqtot <- sum(y^2)-correcao<br clear="none">bltot <- tapply(y, block, sum)<br clear="none">trtot <- tapply(y, Treat, sum)<br clear="none"><br clear="none">sqbl <- sum(bltot^2)/ntr[2] - correcao<br clear="none">











sqtr <- sum(trtot^2)/ntr[1] - correcao<br clear="none">sqres <- sqtot - sqbl - sqtr<br clear="none"><br clear="none">qmbl <- sqbl/gltra[1]<br clear="none">qmtr <- sqtr/gltra[2]<br clear="none">qmres <- sqres/glres<br clear="none">











<br clear="none">fval <- c(qmbl, qmtr)/qmres<br clear="none">pval <- pf(fval, gltra, glres, lower.tail=FALSE)<br clear="none"><br clear="none">data.frame(gl=c(gltra, glres, gltot),<br clear="none">           
 sqt=c(sqbl, sqtr, sqres, sqtot),<br clear="none">            qm=c(qmbl, qmtr, qmres, NA),<br clear="none">            fval=c(fval, NA, NA),<br clear="none">            pval=c(pval, NA, NA))<br clear="none"><br clear="none">











<br clear="none">On 10/22/2013 08:13 PM, Luiz Roberto Martins Pinto wrote:<br clear="none">> Caros companheiros da R-BR.<br clear="none">><br clear="none">> Não consigo fazer uma ANOVA com arquivo com 1e+06 registros.<br clear="none">











> Então... preciso de ajuda!!!<br clear="none">><br clear="none">> Dados:<br clear="none">><br clear="none">> <a shape="rect" href="http://www1.datafilehost.com/d/c0d31775" target="_blank">http://www1.datafilehost.com/d/c0d31775</a><br clear="none">











><br clear="none">> Meu pc<br clear="none">> R for windows 2.15.1(x64)<br clear="none">> 8 Gb de Memo<br clear="none">><br clear="none">> load('RCBD_Data.Rdata') # Arquivo com 1e+06 registros<br clear="none">











><br clear="none">> m=aov(y~Treat+block,data=Data)<br clear="none">> summary(m)<br clear="none">><br clear="none">> Mensagem de erro:<br clear="none">><br clear="none">> Erro: não é possível alocar vetor de tamanho 14.9 Gb<br clear="none">











> Além disso: Mensagens de aviso perdidas:<br clear="none">> 1: In model.matrix.default(mt, mf, contrasts) :<br clear="none">>    Reached total allocation of 8086Mb: see help(memory.size)<br clear="none">> 2: In model.matrix.default(mt, mf, contrasts) :<br clear="none">











>    Reached total allocation of 8086Mb: see help(memory.size)<br clear="none">> 3: In model.matrix.default(mt, mf, contrasts) :<br clear="none">>    Reached total allocation of 8086Mb: see help(memory.size)<br clear="none">











> 4: In model.matrix.default(mt, mf, contrasts) :<br clear="none">>    Reached total allocation of 8086Mb: see help(memory.size)<br clear="none">><br clear="none">><br clear="none">> Luiz Roberto Martins Pinto<br clear="none">











> Prof. Pleno/DCET/UESC<br clear="none">> Laboratório de Estatística Computacional<br clear="none">> Universidade Estadual de Santa Cruz<br clear="none">> Ilhéus-Bahia<br clear="none">><br clear="none">> <a shape="rect" href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a> <mailto:<a shape="rect" href="mailto:luizroberto.uesc@gmail.com" target="_blank">luizroberto.uesc@gmail.com</a>><br clear="none">











> skype: lrmpinto<br clear="none">> <a shape="rect" href="http://lattes.cnpq.br/2732314327604831" target="_blank">http://lattes.cnpq.br/2732314327604831</a><br clear="none">><br clear="none">><br clear="none">











><br clear="none">><br clear="none">> _______________________________________________<br clear="none">> R-br mailing list<br clear="none">> <a shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br clear="none">











> <a shape="rect" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br clear="none">> Leia o guia de postagem (<a shape="rect" href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<div>











<br clear="none">><br clear="none">_______________________________________________<br clear="none">R-br mailing list<br clear="none"><a shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br clear="none">











<a shape="rect" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br clear="none">Leia o guia de postagem (<a shape="rect" href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</div>











<br><br></div>  </div></div></div> </div>  </div> </div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>