<p>Bem lembrado Rodrigo! :-) </p>
<p>Gosto muito da expand.grid! </p>
<p>Enviado de um dispositivo móvel.<br>
Sent from a mobile device. </p>
<div class="gmail_quote">Em 19/03/2013 19:39, "Rodrigo Coster" <<a href="mailto:rcoster@gmail.com">rcoster@gmail.com</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Pra criar um vetor com todos possiveis valores, tu pode usar expand.grid(). Se eu entendi certo, isso deve bastar:<div><div>apply(expand.grid('MCD12Q1.A', 2001:2011, 'h', 10:14, 'v', sprintf('%02.0f', 8:13), '.hdf'), 1, paste, collapse='')</div>

</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/3/19 Leandro Marino <span dir="ltr"><<a href="mailto:leandromarino@leandromarino.com.br" target="_blank">leandromarino@leandromarino.com.br</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>Thiago </p>
<p>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</p>



<p>Enviado de um dispositivo móvel.<br>
Sent from a mobile device. </p>
<div class="gmail_quote">Em 19/03/2013 18:51, "Thiago V. dos Santos" <<a href="mailto:thi_veloso@yahoo.com.br" target="_blank">thi_veloso@yahoo.com.br</a>> escreveu:<div><div><br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Elias,<br>
<br>
Obrigado pela dica, mas... Você poderia elaborá-la, por favor?<br>
<br>
Obrigado,<br>
Thiago.<br>
<br>
<br>
----- Original Message -----<br>
From: Elias Teixeira Krainski <<a href="mailto:eliaskrainski@yahoo.com.br" target="_blank">eliaskrainski@yahoo.com.br</a>><br>
To: <a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a><br>
Cc:<br>
Sent: Tuesday, March 19, 2013 4:07 PM<br>
Subject: Re: [R-br] Como listar arquivos faltantes usando R<br>
<br>
Em problema similar ao seu eu faço uma tabela<br>
em R com ano nas linhas e meses nas colunas<br>
<br>
Exemplo (no seu caso nao sei a posicao de mes):<br>
a <- dir('diretorioDosArquivos')<br>
table(substr(a, 10, 13)) ### anos<br>
<br>
<br>
<br>
On Tue, 2013-03-19 at 13:53 -0700, Thiago V. dos Santos wrote:<br>
> Olá pessoal,<br>
><br>
> 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:<br>
><br>
> MCD12Q1.A2001.h10v08.hdf<br>
> MCD12Q1.A2001.h10v09.hdf<br>
><br>
> MCD12Q1.A2001.h10v10.hdf<br>
><br>
> MCD12Q1.A2001.h10v11.hdf<br>
><br>
><br>
> MCD12Q1.A2001.h11v08.hdf<br>
><br>
> MCD12Q1.A2001.h11v09.hdf<br>
><br>
> MCD12Q1.A2001.h11v10.hdf<br>
><br>
> MCD12Q1.A2001.h11v11.hdf<br>
><br>
> MCD12Q1.A2001.h11v12.hdf<br>
><br>
> MCD12Q1.A2001.h11v13.hdf<br>
><br>
> e assim por diante<br>
><br>
> onde 2001 é o ano e vai de 2001 a 2011.<br>
> h10 é um componente horizontal da imagem e vai de a 10 a 14.<br>
> v08 é um componente vertical da imagem e vai de a 08 a 13.<br>
><br>
> 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".<br>



><br>
> 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.<br>



><br>
> Alguém pode ajudar, criticando o código?<br>
><br>
> Obrigado desde já,<br>
> Thiago.<br>
><br>
><br>
> ##################################################################<br>
> # Gather all files<br>
> dir <- ('/Users/dossa013/data/MODIS/MCD12Q1/original')<br>
> files <- list.files(dir, pattern='hdf', full.names=T)<br>
><br>
> # Set beginning and ending years<br>
> byear <- 2001<br>
> eyear <- 2011<br>
><br>
> # Set tiles<br>
> h1 <- 10<br>
> h2 <- 14<br>
> v1 <- 08<br>
> v2 <- 13<br>
><br>
> # Loop over year and then over tiles<br>
> for (x in byear:eyear) {<br>
>   for (y in h1:h2)      {<br>
>     for (z in v1:v2)     {<br>
>       name <- paste('/Users/dossa013/data/MODIS/MCD12Q1/original/MCD12Q1.A',x,'.h',y,'v',z,'.hdf', sep='')<br>
>       if (file.exists(name)==F)<br>
><br>
>       missing <- name<br>
><br>
>   } # end of v<br>
>  } # end of h<br>
> } # end of year<br>
> > missing<br>
> [1] "/Users/dossa013/data/MODIS/MCD12Q1/original/MCD12Q1.A2011.h14v9.hdf"<br>
> _______________________________________________<br>
> R-br mailing list<br>
> <a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
> <a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
> Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
<br>
<br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
<br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div>