[R-br] Leitura de arquivos

David Feitosa contato em davidfeitosa.com
Sábado Junho 13 11:56:06 BRT 2015


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 <joaorodrigo2005 em gmail.com>
escreveu:

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


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