Obrigado pelas respostas Cesar e Gustavo.<br><br>O código a ser portado é basicamente este mesmo, só que o original tem mais linhas. Os valores inteiros possíveis de AG vão de 0 até 28 e não até 10 e os casos possíveis são 8 e não 4, como escrevi no exemplo.<br>
<br>Eu havia chegado ao if e ao switch também, mas não consegui pensar em como utilizá-lo de forma mais "limpa" neste caso.<br><br>switch (statement, list)<br><br>O statement seria as.interger(AG) (+1 por que meu primeiro valor é 0)<br>
<br>Mas como eu atribuiria, utilizando este comando, o valor 37 à variável VAR caso os valores inteiros de AG fossem 0, 5, 8 ou 10?<br><br>switch (as.interger(AG)+1, VAR<-37,VAR<-70,VAR<-112,VAR<-90, ....) <br>
<br>Neste caso a lista de VAR<- valor teria 29 posições (0 a 28). Com o case posso agrupar os valores de cada caso.<br><br>Em outra lista tive uma resposta interessante. A função recode do pacote car.<br><br>AG<-2.7<br>
VAR<-recode(as.integer(AG),"c(0,5,8,10)=37;c(1,4)=70;c(3,6,9)=90;c(2,7)=112")<br>VAR<br>[1] 112<br><br>Bem mais limpo, não?<br><br>Mais uma vez obrigado<br><br>Antônio<br>PS. eu não envio o mesmo e-mail para listas diferentes. No entanto hoje ao enviar a mensagem para a <a href="mailto:r-help@r-project.org">r-help@r-project.org</a> recebi uma mensagem estranha, que nunca havia recebido. Minha mensagem necessitaria da aprovação do moderador. Segui o link indicado e cancelei a mensagem, mas mesmo assim ela foi postada lá.<br>
<br><br><div class="gmail_quote">Em 31 de agosto de 2011 14:49, Cesar Rabak <span dir="ltr"><<a href="mailto:cesar.rabak@gmail.com">cesar.rabak@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Em 31/8/2011 14:24, Antonio Silva escreveu:<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Olá,<br>
<br>
Estou passando para R uma rotina em visual basic.<br>
<br>
No R, qual o comando mais similar ao"select case" do VB?<br>
<br>
Por exemplo:<br>
<br>
select case int(AG)<br>
  case 0, 5, 8, 10<br>
   VAR = 37<br>
  case 1, 4<br>
   VAR = 70<br>
  case 3, 6, 9<br>
   VAR = 90<br>
  case 2, 7<br>
   VAR = 112<br>
end select<br>
<br>
</blockquote></div>
Antonio,<br>
<br>
Imagino que o código acima seja somente um exemplo e não o código a efetivamente ser portado, pois nesse caso a alternativa seria usar um vetor com a posição escolhida por AG.<br>
<br>
Para caso mais geral, veja se o 'switch' da lingugem R lhe serve: <a href="http://cran.r-project.org/doc/manuals/R-lang.html#switch" target="_blank">http://cran.r-project.org/doc/<u></u>manuals/R-lang.html#switch</a><br>
<font color="#888888">
<br>
-- <br>
Cesar Rabak<br>
GNU/Linux User 52247.<br>
Get counted: <a href="http://counter.li.org/" target="_blank">http://counter.li.org/</a></font><div><div></div><div class="h5"><br>
______________________________<u></u>_________________<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/<u></u>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-<u></u>guia</a>) e forneça código mínimo reproduzível.<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Antônio Olinto Ávila da Silva<div>Biólogo / Oceanógrafo</div><div>Instituto de Pesca (Fisheries Institute)</div><div>São Paulo, Brasil</div><br>