Diogo, SE eu entendi corretamente a situação, quer me parecer que a forma mais rápida e segura de sempre baixar o material que vc deseja seria ou via um script externo (eventulmente gerado p/TI) seja internamente usando alguma chamada autorizada pelo provedor dos dados, obter uma lista dos nomes dos arquivos e baixá-los sem ter que ficar "computando" a partir de formulações, que, pelo visto, tenderão a ser cada vez mais *ad hoc* ficando um problema para manutenção e exigindo cada vez mais atenção a testes para assegurar que "tudo" foi baixado, etc.
HTH On Wed, Mar 23, 2022 at 3:05 PM Diogo Jerônimo por (R-br) < [email protected]> wrote: > Boa tarde a todos!!! Novamente agradecido pela ajuda anterior, e já > pedindo desculpas por nova perturbação, mas de novo apareceu uma situação > que não sei resolver. Segue o código R parecido com o outro para baixar > dados via URL, onde agora x1 representa o código de modulo de um serviço, > x2 o ano e x3 o código da rodada trimestral de realização desse serviço: > baixa_bancos<-function(x1,x2,x3){ > dados<-read.csv2(paste('http://.../arquivo_m", x1 ,"_a",x2,"_s", > x3,".csv'",sep=""),header=T, sep="|", dec =".", encoding = "UTF-8") > } > > A chamada da macro fica algo assim: > a<- vetor de código de módulos; b<-vetor de anos; c<-*????* > for(i in 1:length(a)); for(j in 1:length(b)); for(k in 1:length(c)) > { > x1<-a[[i]]; x2<-b[[j]]; x3<-c[[k]] > baixa_bancos(x1,x2,x3) > } > > Coloquei interrogação no vetor c em vermelho por causa da dúvida. Os > códigos de módulo e ano (óbvio) são fixos, basta vetorizar. Mas os códigos > de realização de serviços trimestrais, identificados por código numérico, > podem por conveniência de atraso, não ser iguais, embora sejam sempre > quatro. Assim por exemplo: > > Mód:108;Ano:2020;codserv:1,2,3,5 > Mód:108;Ano:2021;codserv:1,2,3,4 > Mód:429;Ano:2020;codserv:1,2,3,4 > Mód:429;Ano:2021;codserv:1,3,4,5 > > Dessa forma o vetor c depende do código de serviço e do ano em que ele foi > realizado. Para me ajudar nisso, o TI daqui me deu uma outra consulta que > também baixo por URL, que após alguns ajustes, faço virar uma tabela dentro > do RStudio, com essa cara: > > [image: Imagem incorporada] > > Resumindo agora: o que eu queria é adaptar meu código da seguinte forma: > se viu que o módulo é *108 *e o ano é *2020*, então ele deve ler como > parâmetros para k3 o valores *1,2,3,5*; se for módulo *108* e ano *2021*, > ele deve ler para k3 o valores *1,2,3,4*. E assim sucessivamente, até > finalizar o baixar das bases de dados requeridas. > > Eu consegui ser claro? Se sim, alguém saberia como se faz isso? > > Obrigado novamente pela disponibilidade do time!!! Att, > > *Diogo Jerônimo* > *Bacharel em Ciências Estatísticas - ENCE/IBGE* > *Mestre em Metrologia - PUC-Rio/PósMQI* > *http://lattes.cnpq.br/8996149312896520 > <http://lattes.cnpq.br/8996149312896520>* > > > _______________________________________________ > R-br mailing list > [email protected] > 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 [email protected] 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.
