[R-br] Leitura de arquivos

Augusto Ribas ribas.aca em gmail.com
Segunda Junho 8 11:14:04 BRT 2015


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


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