[R-br] Loop varrendo quantidade enorme de arquivos

Jônatan jdtatsch em gmail.com
Quinta Maio 3 02:24:01 BRT 2012


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


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