[R-br] BATCH

FHRB Toledo fernandohtoledo em gmail.com
Sexta Agosto 19 17:26:00 BRT 2011


Como era de se esperar... elegante solução... valeu mesmo Henrique!

A propósito, compartilhando com a lista aí vai:

* Solução tirada e adapatada de:
http://quantitative-ecology.blogspot.com/2007/08/including-arguments-in-r-cmd-batch-mode.html
.

No começo do seu script acrescente:

> args <- commandArgs(TRUE)

E mais:

> # os argumentos agora sao uma lista de vetores de caracteres
> if(length(args) == 0)
> { # testa se sao passados argumentos pelo BASH
>   print("Não foram passados ARGUMENTOS") # imprime 'AVISO' e usa valores
'PADRAO'
>   ## lista de valores 'PADRAO'
>   arg1 <- 1 # ARG1
>   arg2 <- 1 # ARG2
>   arg3 <- 1 # ARG3
> } else { # se sao: atribui os valores ao script
>   for(i in 1:length(args)){
>     eval(parse(text = args[[i]]))
>   }
> }

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!

Isto posto, executa-se o script de forma semelhante ao normal:

$R CMD BATCH '--args arg1=1 arg2=2 arg3=3 script.R saida.out &

abraço,
FH


A função desse trecho é verificar
2011/8/18 Henrique Dallazuanna <wwwhsd em gmail.com>

> Veja o help da função commandArgs()
>
> 2011/8/18 FHRB Toledo <fernandohtoledo em gmail.com>:
> > Senhores,
> >
> > Gostaria de saber se existe uma forma elegante de rodar um script em
> BATCH
> > passando argumentos como opção na linha de comando?
> >
> > Explico: tenho um script que faz uma tarefa "X", para tal no script tenho
> > alguns argumentos especificados do tipo arg1 <- valorA. Entretanto queria
> > rodar o mesmo escript variando o argumento parao valorB por exemplo. Na
> > minha ignorância estou editando o script no valorB do arg e rodando
> denovo.
> >
> > Pois bem, existe uma forma melhor e menos tosca de se fazer isso?
> >
> > desde já grato,
> > FH
> >
> > _______________________________________________
> > 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.
> >
>
>
>
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110819/54f594a4/attachment.html>


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