Bem lembrado Rodrigo! :-) Gosto muito da expand.grid!
Enviado de um dispositivo móvel. Sent from a mobile device. Em 19/03/2013 19:39, "Rodrigo Coster" <rcos...@gmail.com> escreveu: > Pra criar um vetor com todos possiveis valores, tu pode usar > expand.grid(). Se eu entendi certo, isso deve bastar: > apply(expand.grid('MCD12Q1.A', 2001:2011, 'h', 10:14, 'v', > sprintf('%02.0f', 8:13), '.hdf'), 1, paste, collapse='') > > > > 2013/3/19 Leandro Marino <leandromar...@leandromarino.com.br> > >> Thiago >> >> A função dir lista todos os arquivos de um diretório. Logo vc pode montar >> um vetor com os nomes de todos os arquivos e chegar com o dir(). O que >> estiver no primeiro e não estiver no segundo é o que você precisa baixar >> >> Enviado de um dispositivo móvel. >> Sent from a mobile device. >> Em 19/03/2013 18:51, "Thiago V. dos Santos" <thi_vel...@yahoo.com.br> >> escreveu: >> >> Elias, >>> >>> Obrigado pela dica, mas... Você poderia elaborá-la, por favor? >>> >>> Obrigado, >>> Thiago. >>> >>> >>> ----- Original Message ----- >>> From: Elias Teixeira Krainski <eliaskrain...@yahoo.com.br> >>> To: r-br@listas.c3sl.ufpr.br >>> Cc: >>> Sent: Tuesday, March 19, 2013 4:07 PM >>> Subject: Re: [R-br] Como listar arquivos faltantes usando R >>> >>> Em problema similar ao seu eu faço uma tabela >>> em R com ano nas linhas e meses nas colunas >>> >>> Exemplo (no seu caso nao sei a posicao de mes): >>> a <- dir('diretorioDosArquivos') >>> table(substr(a, 10, 13)) ### anos >>> >>> >>> >>> On Tue, 2013-03-19 at 13:53 -0700, Thiago V. dos Santos wrote: >>> > Olá pessoal, >>> > >>> > Baixei centenas de imagens de satélite e agora devo conferir se tenho >>> todas que realmente vou precisar. A nomenclatura das imagens segue o padrão: >>> > >>> > MCD12Q1.A2001.h10v08.hdf >>> > MCD12Q1.A2001.h10v09.hdf >>> > >>> > MCD12Q1.A2001.h10v10.hdf >>> > >>> > MCD12Q1.A2001.h10v11.hdf >>> > >>> > >>> > MCD12Q1.A2001.h11v08.hdf >>> > >>> > MCD12Q1.A2001.h11v09.hdf >>> > >>> > MCD12Q1.A2001.h11v10.hdf >>> > >>> > MCD12Q1.A2001.h11v11.hdf >>> > >>> > MCD12Q1.A2001.h11v12.hdf >>> > >>> > MCD12Q1.A2001.h11v13.hdf >>> > >>> > e assim por diante >>> > >>> > onde 2001 é o ano e vai de 2001 a 2011. >>> > h10 é um componente horizontal da imagem e vai de a 10 a 14. >>> > v08 é um componente vertical da imagem e vai de a 08 a 13. >>> > >>> > O que preciso fazer é o seguinte: varrer uma lista de todas as imagens >>> possíveis, que vão de 2001 a 2011, h10 a h14 e v08 a v13, e testar se tem >>> alguma que está faltando. Para isso eu uso a função "file.exists" dentro de >>> três loops: "ano", "h" e "v". >>> > >>> > No final da mensagem estou colando o código que usei para fazer isso. >>> Ele até funciona, mas não salva a lista inteira, e sim somente o último >>> nome. Estou fazendo alguma coisa errada no loop. Acredito também que fazer >>> três loops não é a maneira mais otimizada de fazer isso, porém foi a >>> primeira que veio na minha cabeça. >>> > >>> > Alguém pode ajudar, criticando o código? >>> > >>> > Obrigado desde já, >>> > Thiago. >>> > >>> > >>> > ################################################################## >>> > # Gather all files >>> > dir <- ('/Users/dossa013/data/MODIS/MCD12Q1/original') >>> > files <- list.files(dir, pattern='hdf', full.names=T) >>> > >>> > # Set beginning and ending years >>> > byear <- 2001 >>> > eyear <- 2011 >>> > >>> > # Set tiles >>> > h1 <- 10 >>> > h2 <- 14 >>> > v1 <- 08 >>> > v2 <- 13 >>> > >>> > # Loop over year and then over tiles >>> > for (x in byear:eyear) { >>> > for (y in h1:h2) { >>> > for (z in v1:v2) { >>> > name <- >>> paste('/Users/dossa013/data/MODIS/MCD12Q1/original/MCD12Q1.A',x,'.h',y,'v',z,'.hdf', >>> sep='') >>> > if (file.exists(name)==F) >>> > >>> > missing <- name >>> > >>> > } # end of v >>> > } # end of h >>> > } # end of year >>> > > missing >>> > [1] >>> "/Users/dossa013/data/MODIS/MCD12Q1/original/MCD12Q1.A2011.h14v9.hdf" >>> > _______________________________________________ >>> > R-br mailing list >>> > R-br@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. >>> >>> >>> _______________________________________________ >>> R-br mailing list >>> R-br@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. >>> >>> _______________________________________________ >>> R-br mailing list >>> R-br@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. >>> >> >> _______________________________________________ >> R-br mailing list >> R-br@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. >> > > > _______________________________________________ > R-br mailing list > R-br@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. >
_______________________________________________ R-br mailing list R-br@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.