
Prezados professores, Estou com um problema em uma função no R. A função é a seguinte: resp <- function(subject,item,trait)
{
p.vec = NULL
for(category in 1:k) # k = 5 { p = ogive ( theta[subject,trait] , a[item] , b[item,category] , D ) # aqui é uma logit (D=1) ou probit (D=1.7) p.vec = c(p.vec,p) }
#Generates a random number
seed<-runif(1,0.2,0.8)
#Selects an answer
temp = which ( p.vec>seed ) if( length (temp) > 0 ) { resp = max (temp) } else { resp = 1 } resp }
Esta função está inserida em um loop e deveria me retornar um número inteiro entre 1 e 5. Da primeira vez, isto acontece. Mas a partir da segunda, ela começa a me retornar valores como 20, 16,... Alguma idéia de porque isso acontece??? Desde já, obrigado! Felipe Buchbinder