ifelse quando length é igual a 1 não é recomendável:<div><br></div><div><div>> system.time(replicate(10000, if(1>0) {1} else { 0}))</div><div>   user  system elapsed </div><div>  0.028   0.000   0.030 </div><div>> system.time(replicate(10000, ifelse(1>0, 1, 0)))</div>

<div>   user  system elapsed </div><div>  0.224   0.000   0.224 </div><div>> </div><div><br></div><br><div class="gmail_quote">2012/9/14 Fabio Mathias Corrêa <span dir="ltr"><<a href="mailto:fabio.ufla@yahoo.com.br" target="_blank">fabio.ufla@yahoo.com.br</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:times new roman,new york,times,serif"><div><span>Felipe, </span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">

<span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span>Realmente, o if resolve o problema.</span></div>

<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">

<span>Só uma dica, troque o if por </span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">

<span>ifelse(length(temp)>0,resp=max(temp), resp=1)</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span><br>

</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span>Quanto ao which, vc precisa corrgir!</span></div><div class="im">

<div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif">

<span>Valeu!</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;font-family:'times new roman','new york',times,serif"><span><br></span></div><div> </div><div>        Fábio Mathias Corrêa<br>

<br></div><div>     Universidade Estadual de Santa Cruz<br>Departamento de Ciências Exatas e da Terra - DCET</div><br><br><div>Campus Soane Nazaré de Andrade, km 16 Rodovia Ilhéus-Itabuna<br>CEP 45662-900. Ilhéus-Bahia</div>

<div><br><br></div></div><div>Tel.: 73-3680-5076<br>  <div style="font-family:'times new roman','new york',times,serif;font-size:12pt"> <div style="font-family:'times new roman','new york',times,serif;font-size:12pt">

 <div dir="ltr"> <font face="Arial"><div class="im"> <hr size="1">  <b><span style="font-weight:bold">De:</span></b> Felipe Buchbinder <<a href="mailto:felbuch@gmail.com" target="_blank">felbuch@gmail.com</a>><br> <b><span style="font-weight:bold">Para:</span></b> <a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a> <br>

 </div><b><span style="font-weight:bold">Enviadas:</span></b> Sexta-feira, 14 de Setembro de 2012 0:12<div><div class="h5"><br> <b><span style="font-weight:bold">Assunto:</span></b> Re: [R-br] Dúvida função no R<br> </div>

</div></font> </div><div><div class="h5"> <br><div>Fábio,<div><br></div><div>Muito obrigado pela ajuda. Mas o <i>if </i>já não dá conta do caso em que p.vec não possui um elemento maior do que seed? E como p.vec é construido dentro de um loop que adiciona um elemento durante <i>k</i> iterações, como ele pode ter mais do que <i>k</i> elementos? Eu achava que já tinha controlado para evitar esses casos... não?</div>


<div><br></div><div>mais uma vez obrigado,</div><div><br></div><div>Felipe<br><br><div>2012/9/13 Fabio Mathias Corrêa <span dir="ltr"><<a rel="nofollow" href="mailto:fabio.ufla@yahoo.com.br" target="_blank">fabio.ufla@yahoo.com.br</a>></span><br>


<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:'times new roman','new york',times,serif"><div><div>O problema está nesta parte aqui!</div>


<div><br></div><div style="font-style:normal;font-size:16px;background-color:transparent">Nem sempre o vetor  p.vec possui um elemento maior que o seed, e quando isto ocorre retorna interger(0)</div>
<div style="font-style:normal;font-size:16px;background-color:transparent"><br></div><div style="font-style:normal;font-size:16px;background-color:transparent">
Outro problema é que o which pega a posição do elemento, então, quando vc pega o max(temp), se o vetor tem tamanho 20, por exemplo, ele vai retornar o 20 e não o
 elemento.</div><div style="font-style:normal;font-size:16px;background-color:transparent"><br></div><div style="font-style:normal;font-size:16px;background-color:transparent">
Precisa corrigir ai!</div><div style="font-style:normal;font-size:16px;background-color:transparent"><br></div><div style="font-style:normal;font-size:16px;background-color:transparent">
 temp = which(p.vec>seed) #we use this temporary vector in order to avoid warnings should its length be zero</div><div><span style="white-space:pre-wrap">               </span>print(temp)</div><div> 
 if(length(temp)>0){resp=max(temp)}else{resp=1}</div><div style="font-size:12pt"><br></div></div><div><div style="font-size:12pt">
Valeu! </div><div style="font-size:12pt"><br></div><div style="font-size:12pt">        Fábio Mathias Corrêa<br>
<br></div><div style="font-size:12pt">     Universidade Estadual de Santa Cruz<br>Departamento de Ciências Exatas e da Terra - DCET</div><br><br><div style="font-size:12pt">
Campus Soane Nazaré de Andrade, km 16 Rodovia Ilhéus-Itabuna<br>CEP 45662-900. Ilhéus-Bahia</div><div><br><br></div></div><div style="font-size:12pt">Tel.: 73-3680-5076<br>
  <div style="font-size:12pt"> <div style="font-size:12pt"> <div dir="ltr"> <font face="Arial"><div>
 <hr size="1">  <b><span style="font-weight:bold">De:</span></b> Felipe Buchbinder <<a rel="nofollow" href="mailto:felbuch@gmail.com" target="_blank">felbuch@gmail.com</a>><br> <b><span style="font-weight:bold">Para:</span></b> <a rel="nofollow" href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a> <br>


 </div><b><span style="font-weight:bold">Enviadas:</span></b> Quinta-feira, 13 de Setembro de 2012 15:24<br> <b><span style="font-weight:bold">Assunto:</span></b> Re: [R-br] Dúvida função no R<br> </font> </div><div><div>


 <br><div>Obrigado pela referência,<div><br></div><div>Preparei um CMR que envio anexo.</div><div><br></div><div>Mais uma vez,
 obrigado </div><div>Felipe<br><br><div>2012/9/13 FHRB Toledo <span dir="ltr"><<a rel="nofollow" href="mailto:fernandohtoledo@gmail.com" target="_blank">fernandohtoledo@gmail.com</a>></span><br>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Felipe,</div><div><br></div>Para CMR, consulte: <a rel="nofollow" href="https://gist.github.com/1088208" target="_blank">https://gist.github.com/1088208</a><div>



<br></div><div>att,</div><div>FH<div><div><br><br><div>2012/9/13 Felipe Buchbinder <span dir="ltr"><<a rel="nofollow" href="mailto:felbuch@gmail.com" target="_blank">felbuch@gmail.com</a>></span><br>

<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">O k foi definido no início do código, fora da função, como k = 5.<div><br></div><div>Desculpe a ignorância, mas o que é um CMR? Como eu posso fazer um para enviar à lista?</div>




<div><br></div><div>Obrigado pela disposição,</div>
<div><br>Felipe<div><div><br><br><div>2012/9/13 Leonard de Assis <span dir="ltr"><<a rel="nofollow" href="mailto:assis.leonard@gmail.com" target="_blank">assis.leonard@gmail.com</a>></span><br><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






  
    
  
  <div>
    <div>Onde foi definido o k?<br>
      <pre>[]s
Leonard de Assis
assis <dot> leonard <at> gmail <dot> com
</pre>
      Em 13/09/2012 12:56, Felipe Buchbinder escreveu:<br>
    </div>
    <blockquote type="cite"><div><div>Prezados professores,
      <div><br>
      </div>
      <div>Estou com um problema em uma função no R.</div>
      <div>A função é a seguinte:</div>
      <div><br>
      </div>
      <blockquote style="margin:0 0 0 40px;border:none;padding:0px">
        <blockquote style="margin:0 0 0 40px;border:none;padding:0px">
          <blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">resp
            <- function(subject,item,trait)<br>
            {<br>
              <br>
              p.vec = NULL<br>
              <br>
              for(category in 1:k)  # k = 5<br>
              {<br>
                p = ogive ( theta[subject,trait] , a[item] ,
            b[item,category] , D )    # aqui é uma logit (D=1) ou probit
            (D=1.7)<br>
                p.vec = c(p.vec,p)<br>
              }<br>
              <br>
              #Generates a random number<br>
              <br>
              seed<-runif(1,0.2,0.8)<br>
              <br>
              #Selects an answer<br>
              <br>
              temp = which ( p.vec>seed ) <br>
              if( length (temp) > 0 ) { resp = max (temp) } else {
            resp = 1 }<br>
              resp<br>
            }</blockquote>
        </blockquote>
      </blockquote>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>Esta função está inserida em um loop e deveria me retornar um
        número inteiro entre 1 e 5.</div>
      <div>Da primeira vez, isto acontece.</div>
      <div>Mas a partir da segunda, ela começa a me retornar valores
        como 20, 16,...</div>
      <div><br>
      </div>
      <div>Alguma idéia de porque isso acontece???</div>
      <div><br>
      </div>
      <div>Desde já, obrigado!</div>
      <div><br>
      </div>
      <div>Felipe Buchbinder</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><div><pre>_______________________________________________
R-br mailing list
<a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a>
<a rel="nofollow" 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>
Leia o guia de postagem (<a rel="nofollow" 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.</pre>
    </div></blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
R-br mailing list<br>
<a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" 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 rel="nofollow" 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></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" 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 rel="nofollow" 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></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" 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 rel="nofollow" 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></blockquote></div><br></div>
</div><br>_______________________________________________<br>R-br mailing list<br><a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br><a rel="nofollow" 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 rel="nofollow" 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><br> </div></div></div> </div>  </div></div>

</div><br>_______________________________________________<br>

R-br mailing list<br>
<a rel="nofollow" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" 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 rel="nofollow" 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></blockquote></div><br></div>
</div><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><br> </div></div></div> </div>  </div></div></div><br>_______________________________________________<br>


R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">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></blockquote></div><br></div>