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 class="gmail_quote" 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>