[R-br] Loop varrendo quantidade enorme de arquivos

Thiago Veloso thi_veloso em yahoo.com.br
Quinta Maio 3 23:28:33 BRT 2012


  Jonatan e Tito
  Também agradeço as sugestões de vocês. Vou usá-las para construir uma função, o que parece ser mais eficiente em termos de otimização de uso de memória e consumo de disco.
  Saudações,  Thiago.

--- On Thu, 3/5/12, Jônatan <jdtatsch em gmail.com> wrote:

From: Jônatan <jdtatsch em gmail.com>
Subject: Re: [R-br] Loop varrendo quantidade enorme de arquivos
To: r-br em listas.c3sl.ufpr.br
Date: Thursday, 3 May, 2012, 2:24

Thiago,
 tente usar a funcao zApply do proprio pacote raster.

## datas de 8 em 8 dias, extraidas dos nomes dos arquivos tiff
t8d <- seq(as.Date("2000-01-01"), length.out=100, by="8 days")


## stack dos arquivos tiff
s <- stack(list.files(pattern="tiff$"))

## definindo variavel z como t8d
s <- setZ(s, t8d, name="8day")
require(zoo)
res <- zApply(s, by=as.yearmon, fun=mean, name="meses")





2012/5/2 Thiago Veloso <thi_veloso em yahoo.com.br>

  Boa noite pessoal,



  Preciso de ajuda para fazer um loop que percorra uma lista enorme de arquivos.



  Organizei uma série (+50GB) de imagens de satélite que está organizada em anos (2001 a 2011) e, por ano, a cada oito dias (julianos).



lai200101.tif

lai200109.tif

lai200117.tif

lai200125.tif

        .

        .

        .

lai2011361.tif



  onde a nomenclatura segue o padrão: lai{ano}{diajuliano}.tif. Percebam que o incremento entre os dias é sempre oito.



  Preciso fazer duas operações nesse banco de dados:



  1) um loop para abrir cada um dos arquivos, nomeando a variável com o ano e mês, e multiplicar a mesma por 0.001. Algo assim:



library(raster)

lai{ano}{diajuliano}<-raster('lai{ano}{diajuliano}.tif') #carregando imagem

lai{ano}{diajuliano}<-lai{ano}{diajuliano}*0.001 #calibrando imagem



  2) Ao longo de todos os arquivos, somar cada quatro para produzir um mês de dados, por exemplo:

lai_jan_2001 <- lai200101.tif + lai200109.tif + lai200117.tif + lai200125.tif

lai_feb_2001 <- lai200133.tif + lai200141.tif + lai200149.tif + lai200157.tif

        .

        .

        .

lai_dec_2011 <- lai2011337.tif + lai2011345.tif + lai2011353.tif + lai2011361.tif



  Um verdadeiro desafio de programação, concordam? Alguém pode me dar uma ideia de como começar?



  Agradece desde já,

  Thiago.

_______________________________________________

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.




-- 
#------------------------------------------------------------------------------#
# Jônatan Dupont Tatsch                                                           #

# Climate and Biosphere Laboratory                                           #
# Department of Atmospheric Sciences                                      #
# Institute of Astronomy, Geophysics and Atmospheric Sciences #

# University of São Paulo                                                          #
# Rua do Matão, 1226                                                               #
# Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090       #

# Phone:+55 11 3091-4772, Fax:+55 11 3091-4714                    #
# http://jonatandupont.weebly.com/index.html          #
#------------------------------------------------------------------------------#



-----Inline Attachment Follows-----

_______________________________________________
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/20120503/a2ff610e/attachment.html>


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