[R-br] Leitura de arquivos

joão Rodrigo Castro joaorodrigo2005 em gmail.com
Segunda Junho 8 11:19:55 BRT 2015


Entendi Augusto, vou implementar! Muito Obrigado

Em 8 de junho de 2015 11:14, Augusto Ribas <ribas.aca em gmail.com> 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 <
> joaorodrigo2005 em gmail.com> 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 <ribas.aca em gmail.com>
>> 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 <
>>> joaorodrigo2005 em gmail.com> 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
>>>> 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.
>>>>
>>>
>>>
>>>
>>> --
>>> 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
>>> 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.
>>>
>>
>>
>>
>> --
>> 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
>> 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.
>>
>
>
>
> --
> 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
> 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.
>



-- 
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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150608/07055f2f/attachment.html>


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