desculpe, foi um erro. A linha correta é: form = y ~ factor(Treat) + factor(block)
2013/10/23 Luiz Roberto Martins Pinto <[email protected]> > Rogério, > > Agradeço sua colaboração, e o script enviado. > > O comando form(y ~ factor(Treat) + factor(block)) não foi aceito. > > > > > 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 19:24, Rogério Barbosa > <[email protected]>escreveu: > > 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. >> >> Segue abaixo o código. >> >> Mas a função "aov" não funciona em cima do objeto gerado pelo biglm (e >> funciona em cima do lm...) >> >> 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. >> >> 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. >> >> >> abraços, >> Rogério >> >> ##################################### >> >> require(ff) >> require(ffbase) >> require(biglm) >> >> load("RCBD_Data.Rdata") >> >> dados.ff = as.ffdf(Data) >> rm(Data) >> gc() >> >> form(y ~ factor(Treat) + factor(block)) >> >> >> for (i in chunk(dados.ff, by=25000)){ >> if (i[1]==1){ >> message("first chunk is: ", i[[1]],":",i[[2]]) >> biglmfit <- biglm(form, data=dados.ff[i,,drop=FALSE]) >> }else{ >> message("next chunk is: ", i[[1]],":",i[[2]]) >> biglmfit <- update(biglmfit, firis[i,,drop=FALSE]) >> } >> } >> >> >> >> >> >> 2013/10/23 Benilton Carvalho <[email protected]> >> >>> 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" < >>> [email protected]> 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 >>>> >>>> [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. >>>> >>> >>> _______________________________________________ >>> 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.
