R/item.dichot.R

"item.dichot" <-
function (nvar = 72, nsub = 500, circum = FALSE, xloading = 0.6, 
    yloading = 0.6, gloading = 0, xbias = 0, ybias = 0,  
    low = 0, high = 0) 
{
    avloading <- (xloading + yloading)/2
    errorweight <- sqrt(1 - (avloading^2 + gloading^2))
    g <- rnorm(nsub)
    truex <- rnorm(nsub) * xloading + xbias
    truey <- rnorm(nsub) * yloading + ybias
    if (circum) {
        radia <- seq(0, 2 * pi, len = nvar + 1)
        rad <- radia[which(radia < 2 * pi)]
    }
    else rad <- c(rep(0, nvar/4), rep(pi/2, nvar/4), rep(pi, 
        nvar/4), rep(3 * pi/2, nvar/4)) 
    error <- matrix(rnorm(nsub * (nvar)), nsub)
    trueitem <- outer(truex, cos(rad)) + outer(truey, sin(rad))
    item <- gloading * g + trueitem + errorweight * error
    
   
    nvar2 <- nvar/2 
     iteml <- (item[,(1:nvar2)*2 -1] >= low)
     itemh <- (item[,(1:nvar2)*2] >= high)
     item <- cbind(iteml,itemh)+0
    

    return(item)
}
#revised October 2 to make difficulty and direction of factor loading unconfounded

Try the psych package in your browser

Any scripts or data that you put into this service are public.

psych documentation built on Sept. 26, 2023, 1:06 a.m.