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>