[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