Como era de se esperar... elegante solução... valeu mesmo Henrique!<br><br>A propósito, compartilhando com a lista aí vai:<br><br>* Solução tirada e adapatada de: <a href="http://quantitative-ecology.blogspot.com/2007/08/including-arguments-in-r-cmd-batch-mode.html" target="_blank">http://quantitative-ecology.blogspot.com/2007/08/including-arguments-in-r-cmd-batch-mode.html</a>.<br>
<br>No começo do seu script acrescente:<br><br>> args <- commandArgs(TRUE)<br><br>E mais:<br><br>> # os argumentos agora sao uma lista de vetores de caracteres<br>> if(length(args) == 0)<br>> { # testa se sao passados argumentos pelo BASH<br>
> print("Não foram passados ARGUMENTOS") # imprime 'AVISO' e usa valores 'PADRAO'<br>> ## lista de valores 'PADRAO'<br>> arg1 <- 1 # ARG1<br>> arg2 <- 1 # ARG2<br>
> arg3 <- 1 # ARG3<br>> } else { # se sao: atribui os valores ao script<br>> for(i in 1:length(args)){<br>> eval(parse(text = args[[i]]))<br>> }<br>> }<br><br>Esse trecho tem a função de ver quais argumentos foram passados via bash e os passa p/ o script... Caso não seja passado nenhum argumento ele "usa" os argumentos default!<br>
<br>Isto posto, executa-se o script de forma semelhante ao normal:<br><br>$R CMD BATCH '--args arg1=1 arg2=2 arg3=3 script.R saida.out &<br><br>abraço,<br>FH<br><br><br>A função desse trecho é verificar<br>
<div class="gmail_quote">2011/8/18 Henrique Dallazuanna <span dir="ltr"><<a href="mailto:wwwhsd@gmail.com" target="_blank">wwwhsd@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Veja o help da função commandArgs()<br>
<br>
2011/8/18 FHRB Toledo <<a href="mailto:fernandohtoledo@gmail.com" target="_blank">fernandohtoledo@gmail.com</a>>:<br>
<div><div></div><div>> Senhores,<br>
><br>
> Gostaria de saber se existe uma forma elegante de rodar um script em BATCH<br>
> passando argumentos como opção na linha de comando?<br>
><br>
> Explico: tenho um script que faz uma tarefa "X", para tal no script tenho<br>
> alguns argumentos especificados do tipo arg1 <- valorA. Entretanto queria<br>
> rodar o mesmo escript variando o argumento parao valorB por exemplo. Na<br>
> minha ignorância estou editando o script no valorB do arg e rodando denovo.<br>
><br>
> Pois bem, existe uma forma melhor e menos tosca de se fazer isso?<br>
><br>
> desde já grato,<br>
> FH<br>
><br>
</div></div>> _______________________________________________<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<br>
> mínimo reproduzível.<br>
><br>
<br>
<br>
<br>
--<br>
<font color="#888888">Henrique Dallazuanna<br>
Curitiba-Paraná-Brasil<br>
25° 25' 40" S 49° 16' 22" O<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>
</font></blockquote></div><br>