Agora deu o seguinte erro... Erro em is.data.frame(data) : objeto 'firis' não encontrado
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:56, Rogério Barbosa <[email protected]>escreveu: > 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. >
_______________________________________________ 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.
