João, não sei o quão esse procedimento irá escalar, mas considere usar um SGBD, como Postgresql/MySQL ou outro.
Há um pacote sqldf que permite trabalhar com consultas à bases de dados e tratar o resultado como um dataframe. Atenciosamente, David F. Em 8 de junho de 2015 11:19, joão Rodrigo Castro <[email protected]> escreveu: > Entendi Augusto, vou implementar! Muito Obrigado > > Em 8 de junho de 2015 11:14, Augusto Ribas <[email protected]> escreveu: > >> Algo assim: >> >> #Ve o nome dos arquivos da pasta, use getwd e setwd se precisar mudar de >> pasta >> arquivos<-list.files() >> >> #pegue os arquivos que são .dat >> indices<-grep(".dat",arquivos) >> arquivos[indices] >> >> #separe um vetor com eles, podemos reutilizar o vetor aqui >> arquivos<-arquivos[indices] >> >> #Ai você usa alguma estrutura de repetição, um loop por exemplo, para >> processar um por um >> for(i in 1:length(arquivos)) { >> print(paste("Lendo",arquivos[i])) >> #Seu codigo aqui >> } >> >> #ai insira seu código ali, fazendo as operações que tem que fazer, e >> juntando os arquivos, salvando, o que for necessário. >> >> Em 8 de junho de 2015 10:06, joão Rodrigo Castro < >> [email protected]> escreveu: >> >>> Obrigado Augusto, vou dar uma olhada nas funções que vc citou. >>> >>> Um trecho do código: >>> # Passo A >>> Teste_SF = read.table("*dado1*.dat", dec=".",h=T ,col.names = c( "ano", >>> "mes", "jday","Rad","Tmax", "Tmin","stopo","trans","dt","lat","lon")) >>> Teste = subset(Teste_SF, trans<0.81 & Rad>1) >>> summary(Teste) >>> >>> # Passo B >>> dr = 1 + 0.033 * cos(0.0172*Teste$jday) >>> declin = 0.409 * sin(0.0172*Teste$jday - 1.39) >>> omega = acos(-tan(Teste$lat*pi/180) * tan(declin)) >>> Teste$Rad_Pot = 37.6*dr*(omega*sin(declin)*sin(Teste$lat*pi/180) + >>> cos(declin)*cos(Teste$lat*pi/180)*sin(omega)) >>> >>> Há ainda outros passos onde os atributos dos arquivos são lidos e >>> posteriormente utilizados em outros cálculos. No final é gerado um arquivo >>> de saída com o write.table com os resultados obtidos. >>> >>> Então como são 38 arquivos (dado1.dat, dado2.dat, etc ..... ) a >>> utilização de alguma função que permita a leitura de todos os arquivos, e >>> depois fazer um loop pelos arquivos, tornaria mais dinâmica a tarefa. >>> >>> Obrigado pelas dicas! >>> João >>> >>> >>> >>> Em 8 de junho de 2015 10:42, Augusto Ribas <[email protected]> >>> escreveu: >>> >>>> Não entendi exatamente o problema, mas os arquivos estão em um >>>> determinado diretorio? >>>> Não daria para dar um list.files() para pegar a lista de arquivos dos >>>> diretorio, usar um grep() para selecionar os arquivos que quer ler e então >>>> em um loop ir ler os arquivos com read.table, ai você pode ir dando merge >>>> ou concatenando eles. >>>> >>>> Da um exemplo de código como você está fazendo, talvez alguém tenha uma >>>> ideia melhor. >>>> >>>> Em 8 de junho de 2015 08:45, joão Rodrigo Castro < >>>> [email protected]> escreveu: >>>> >>>>> Pessoal, >>>>> >>>>> >>>>> Tenho utilizado o read.table para ler arquivos e realizar tarefas >>>>> simples. Contudo, agora necessito rodar 6 programas para 38 localidades >>>>> distintas e tenho feito isso ponto a ponto, para cada um dos modelos... Já >>>>> rodei os programas uma vez dessa maneira trabalhosa e agora pretendo >>>>> automatizar o processo lendo todos os 38 arquivos de uma só vez e rodar >>>>> cada um dos modelos para os 38 arquivos (um modelo por vez). >>>>> >>>>> Minha pergunta é: há alguma função para leitura de vários arquivos >>>>> juntos ? >>>>> >>>>> Por favor, se não ficar claro posso tentar explicar melhor! >>>>> abs >>>>> -- >>>>> João Rodrigo de Castro >>>>> Programa de Pós-Graduação em Meteorologia >>>>> Bolsista Laboratório de Agrometeorologia - Embrapa Clima Temperado >>>>> Universidade Federal de Pelotas >>>>> >>>>> _______________________________________________ >>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> Grato >>>> Augusto C. A. Ribas >>>> >>>> Site Pessoal: http://recologia.com.br/ >>>> <http://augustoribas.heliohost.org> >>>> Github: https://github.com/Squiercg >>>> Lattes: http://lattes.cnpq.br/7355685961127056 >>>> >>>> _______________________________________________ >>>> 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. >>>> >>> >>> >>> >>> -- >>> João Rodrigo de Castro >>> Programa de Pós-Graduação em Meteorologia >>> Bolsista Laboratório de Agrometeorologia - Embrapa Clima Temperado >>> Universidade Federal de Pelotas >>> >>> _______________________________________________ >>> 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. >>> >> >> >> >> -- >> Grato >> Augusto C. A. Ribas >> >> Site Pessoal: http://recologia.com.br/ >> <http://augustoribas.heliohost.org> >> Github: https://github.com/Squiercg >> Lattes: http://lattes.cnpq.br/7355685961127056 >> >> _______________________________________________ >> 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. >> > > > > -- > João Rodrigo de Castro > Programa de Pós-Graduação em Meteorologia > Bolsista Laboratório de Agrometeorologia - Embrapa Clima Temperado > Universidade Federal de Pelotas > > _______________________________________________ > 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.
