## ----get-------------------------------------------------------------------------
library(PP)
data(fourpl_df)
dim(fourpl_df)
head(fourpl_df)
# extracting the information
diff_par <- attr(fourpl_df,"diffpar")
slope_par <- attr(fourpl_df,"slopes")
## ----check-----------------------------------------------------------------------
# extract items and transform the data.frame to matrix
itmat <- as.matrix(fourpl_df[,-(1:2)])
# are there any full scores?
fullsc <- apply(itmat,1,function(x) (sum(x,na.rm=TRUE)+sum(is.na(x))) == length(x))
any(fullsc)
# are there 0 scores?
nullsc <- apply(itmat,1,function(x) sum(x,na.rm=TRUE) == 0)
any(nullsc)
# are there missing values? how many and where?
nasc <- apply(itmat,1,function(x) sum(is.na(x)))
any(nasc > 0)
#which(nasc)
# is our data dichotomous as expected?
apply(itmat,2,function(x) table(x))
# are there any duplicates?
rdup <- duplicated(itmat)
sum(rdup)
## ----decide----------------------------------------------------------------------
library(PP)
res1plmle <- PP_4pl(respm = itmat, thres = diff_par, slopes = slope_par, type = "mle")
summary(res1plmle)
## ----edit------------------------------------------------------------------------
dafest <- data.frame(fourpl_df, res1plmle$resPP$resPP)
head(dafest,10)
## ----rerun-----------------------------------------------------------------------
library(PP)
res1plwle <- PP_4pl(respm = itmat,thres = diff_par, slopes = slope_par, type = "wle")
summary(res1plwle)
## ----ppass-----------------------------------------------------------------------
pres <- PPass(fourpl_df, items = 3:14, mod="2PL", thres = diff_par, slopes = slope_par, type = "wle")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.