# NOT RUN {
#--- some data, 3 items from dpression, anxiety and stress scales
# and only 250 cases out of possible 1000
data(dass)
inData <- dass[1:250,c("d1", "d2", "d3", "a1","a2","a3","s1","s2","s3")]
#--- log-linear model of independence
ind <- ple.lma(inData, model.type="independence")
#--- input for uni-dimensional
inTraitAdj <- matrix(1, nrow=1, ncol=1)
inItemTraitAdj <- matrix(1, nrow=9, ncol=1)
#--- rasch family
r1 <- ple.lma(inData, model.type="rasch", inItemTraitAdj, inTraitAdj)
#--- rasch with alternative scores
scores <- matrix(c(0,1,2,3),nrow=9,ncol=4,byrow=TRUE)
r1b <- ple.lma(inData, model.type="rasch", inItemTraitAdj,
inTraitAdj, starting.sv=scores)
# }
# NOT RUN {
#--- generalized partial credit model
g1 <- ple.lma(inData, model.type="gpcm", inItemTraitAdj, inTraitAdj)
#--- gpcm with alternative scores
scores <- matrix(c(0,1,2,3),nrow=9,ncol=4,byrow=TRUE)
g1b <- ple.lma(inData, model.type="gpcm", inItemTraitAdj, inTraitAdj, starting.sv=scores)
#--- nominal response model
n1 <- ple.lma(inData, model.type="nominal", inItemTraitAdj,inTraitAdj)
#--- re-run nominal model with input starting values and phi
# and setting stronger convergnce criterion.
sv <- n1$estimates[, 6:9]
phi <- n1$Phi.mat
n1b <- ple.lma(inData, model.type="nominal", inItemTraitAdj,
inTraitAdj, starting.sv=sv, starting.phi=phi, tol=1e-8)
# }
# NOT RUN {
#--- Multidimensional models
#--- re-define inTraitAdj and inItemTraitAdj for 3 dimensional models
inTraitAdj <- matrix(1, nrow=3, ncol=3)
dpress <- matrix(c(1,0,0), nrow=3, ncol=3, byrow=TRUE)
anxiety <- matrix(c(0,1,0), nrow=3, ncol=3, byrow=TRUE)
stress <- matrix(c(0,0,1), nrow=3, ncol=3, byrow=TRUE)
das <- list(dpress, anxiety, stress)
inItemTraitAdj <- rbind(das[[1]], das[[2]], das[[3]])
#--- 3 dimensional rasch
r3 <- ple.lma(inData, model.type="rasch", inItemTraitAdj, inTraitAdj)
# }
# NOT RUN {
#--- 3 dimensional gpcm
g3 <- ple.lma(inData, model.type="gpcm", inItemTraitAdj, inTraitAdj)
#--- 3 dimensional nominal
n3 <- ple.lma(inData, model.type="nominal", inItemTraitAdj, inTraitAdj)
#--- 2 parameter logistic IRT model fit to responses to
# 10 dichotomous Vocabulary items from from 2018 GSS
# by 1309 respondents
data(vocab)
inItemTraitAdj <- matrix(1, nrow=10, ncol=1)
inTraitAdj <- matrix(1, nrow=1, ncol=1)
#--- rasch irt
rasch <- ple.lma(inData=vocab, model.type="rasch", inItemTraitAdj, inTraitAdj, tol=1e-03)
#--- 2 pl as a gpcm model
g.2pl <- ple.lma(inData=vocab, model.type="gpcm", inItemTraitAdj, inTraitAdj, tol=1e-03)
#--- 2 pl as a nominal model
n.2pl <- ple.lma(inData=vocab, model.type="nominal", inItemTraitAdj, inTraitAdj, tol=1e-03)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab