Learn R Programming

TAM (version 1.995-0)

data.cqc: More Datasets and Examples (Similar to ConQuest Examples)

Description

Datasets and examples similar to the ones in the ConQuest manual (Wu, Adams, Wilson, & Haldane, 2007).

Usage

data(data.cqc01) data(data.cqc02) data(data.cqc03) data(data.cqc04) data(data.cqc05)

Arguments

Format

  • data.cqc01 contains 512 persons on 12 dichotomous items of following format 'data.frame': 512 obs. of 12 variables: $ BSMMA01: int 1 1 0 1 1 1 1 1 0 0 ... $ BSMMA02: int 1 0 1 1 0 1 1 1 0 0 ... $ BSMMA03: int 1 1 0 1 1 1 1 1 1 0 ... [...] $ BSMSA12: int 0 0 0 0 1 0 1 1 0 0 ...
  • data.cqc02 contains 431 persons on 8 polytomous variables of following format 'data.frame': 431 obs. of 8 variables: $ It1: int 1 1 2 0 2 1 2 2 2 1 ... $ It2: int 3 0 1 2 2 3 2 2 1 1 ... $ It3: int 1 1 1 0 1 1 0 0 1 0 ... [...] $ It8: int 3 1 0 0 3 1 3 0 3 0 ...
  • data.cqc03 contains 11200 observations for 5600 persons, 16 raters and 2 items (crit1 and crit2) 'data.frame': 11200 obs. of 4 variables: $ pid : num 10001 10001 10002 10002 10003 ... $ rater: chr "R11" "R12" "R13" "R14" ... $ crit1: int 2 2 2 1 3 2 2 1 1 1 ... $ crit2: int 3 3 2 1 2 2 2 2 2 1 ...
  • data.cqc04 contains 1452 observations for 363 persons, 4 raters, 4 topics and 5 items (spe, coh, str, gra, con) 'data.frame': 1452 obs. of 8 variables: $ pid : num 10010 10010 10010 10010 10016 ... $ rater: chr "BE" "CO" "BE" "CO" ... $ topic: chr "Spor" "Spor" "Spor" "Spor" ... $ spe : int 2 0 2 1 3 3 3 3 3 2 ... $ coh : int 1 1 2 0 3 3 3 3 3 3 ... $ str : int 0 1 3 0 3 2 3 2 3 0 ... $ gra : int 0 0 2 0 3 3 3 3 2 1 ... $ con : int 0 0 0 0 3 1 2 2 3 0 ...
  • data.cqc05 contains 1500 persons, 3 covariates and 157 items. 'data.frame': 1500 obs. of 160 variables: $ gender: int 1 0 1 0 0 0 0 1 0 1 ... $ level : int 0 1 1 0 0 0 1 0 1 1 ... $ gbyl : int 0 0 1 0 0 0 0 0 0 1 ... $ A001 : num 0 0 0 1 0 1 1 1 0 1 ... $ A002 : num 1 1 0 1 1 1 1 1 1 0 ... $ A003 : num 0 0 0 0 1 1 1 0 0 1 ... [...]

References

Wu, M. L., Adams, R. J., Wilson, M. R. & Haldane, S. (2007). ACER ConQuest Version 2.0. Mulgrave. https://shop.acer.edu.au/acer-shop/group/CON3.

See Also

See the sirt::R2conquest function for running ConQuest software from within R.

See the WrightMap package for functions connected to reading ConQuest files and creating Wright maps. ConQuest output files can be read into R with the help of the WrightMap::CQmodel function.

See also the eat package (https://r-forge.r-project.org/projects/eat/) for elaborate functionality for communication of ConQuest with R.

Examples

Run this code
## Not run: 
# 
# library(sirt)
# library(WrightMap)
# # In the following, ConQuest will also be used for estimation.
# path.conquest <- "C:\Conquest"             # path of the ConQuest console.exe
# setwd( "p:\my_files\ConQuest_analyses" )  # working directory 
# 	
# #############################################################################
# # EXAMPLE 01: Rasch model data.cqc01
# #############################################################################
# 
# data(data.cqc01)
# dat <- data.cqc01
# 
# #********************************************
# #*** Model 01: Estimate Rasch model
# mod01 <- tam.mml(dat)
# summary(mod01)
# 
# #------- ConQuest
# 
# # estimate model
# cmod01 <- sirt::R2conquest( dat , name = "mod01" , path.conquest=path.conquest)
# summary(cmod01)   # summary output
# # read shw file with some terms
# shw01a <- sirt::read.show( "mod01.shw" )
# cmod01$shw.itemparameter
# # read person item maps
# pi01a <- sirt::read.pimap( "mod01.shw" )
# cmod01$shw.pimap
# # read plausible values (npv=10 plausible values)
# pv01a <- sirt::read.pv(pvfile="mod01.pv", npv = 10)
# cmod01$person
# 
# # read ConQuest model
# res01a <- WrightMap::CQmodel(p.est = "mod01.wle", show = "mod01.shw", p.type = "WLE" )
# print(res01a)
# # plot item fit
# WrightMap::fitgraph(res01a)
# # Wright map
# plot(res01a, label.items.srt = 90 )
# 
# #############################################################################
# # EXAMPLE 02: Partial credit model and rating scale model data.cqc02
# #############################################################################
# 
# data(data.cqc02)
# dat <- data.cqc02
# 
# #********************************************
# # Model 02a: Partial credit model in ConQuest parametrization 'item+item*step'
# mod02a <- tam.mml( dat , irtmodel="PCM2" )
# summary(mod02a , file = "mod02a") 
# fit02a <- tam.fit(mod02a)
# summary(fit02a)
# 
# #--- ConQuest
# # estimate model
# maxK <- max( dat , na.rm=TRUE )
# cmod02a <- sirt::R2conquest( dat , itemcodes= 0:maxK, model= "item+item*step" , 
#                name = "mod02a" , path.conquest=path.conquest)
# summary(cmod02a)   # summary output
# 
# # read ConQuest model
# res02a <- WrightMap::CQmodel(p.est = "mod02a.wle", show = "mod02a.shw", p.type = "WLE" )
# print(res02a)
# # Wright map
# plot(res02a, label.items.srt = 90 )
# plot(res02a , item.table="item")
# 
# #********************************************
# # Model 02b: Rating scale model
# mod02b <- tam.mml( dat , irtmodel="RSM" )
# summary( mod02b )
# 
# #############################################################################
# # EXAMPLE 03: Faceted Rasch model for rating data data.cqc03
# #############################################################################
# 
# data(data.cqc03)
# # select items
# resp <- data.cqc03[ , c("crit1","crit2") ]
# 
# #********************************************
# # Model 03a: 'item+step+rater'
# mod03a <- tam.mml.mfr( resp , facets=data.cqc03[,"rater",drop=FALSE] ,
#             formulaA = ~ item+step+rater , pid = data.cqc03$pid )
# summary( mod03a )
# 
# #--- ConQuest
# X <- data.cqc03[,"rater",drop=FALSE]
# X$rater <- as.numeric(substring( X$rater , 2 )) # convert 'rater' in numeric format
# maxK <- max( resp , na.rm=TRUE)
# cmod03a <- sirt::R2conquest( resp ,  X = X , regression="" ,  model= "item+step+rater" , 
#              name = "mod03a" , path.conquest=path.conquest , set.constraints="cases" )
# summary(cmod03a)   # summary output
# 
# # read ConQuest model
# res03a <- WrightMap::CQmodel(p.est = "mod03a.wle", show = "mod03a.shw", p.type = "WLE" )
# print(res03a)
# # Wright map
# plot(res03a)
# 
# #********************************************
# # Model 03b: 'item:step+rater'
# mod03b <- tam.mml.mfr( resp , facets=data.cqc03[,"rater",drop=FALSE] ,
#             formulaA = ~ item + item:step+rater , pid = data.cqc03$pid )
# summary( mod03b )
# 
# #********************************************
# # Model 03c: 'step+rater' for first item 'crit1'
# # Restructuring the data is necessary.
# # Define raters as items in the new dataset 'dat1'.
# persons <- unique( data.cqc03$pid )
# raters <- unique( data.cqc03$rater )
# dat1 <- matrix( NA , nrow= length(persons) , ncol=length(raters) + 1 )
# dat1 <- as.data.frame(dat1)
# colnames(dat1) <- c("pid" , raters )
# dat1$pid <- persons
# for (rr in raters){ 
#     dat1.rr <- data.cqc03[ data.cqc03$rater == rr , ]
#     dat1[ match(dat1.rr$pid , persons) ,rr] <- dat1.rr$crit1
#         }
#   ##   > head(dat1)
#   ##       pid R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26
#   ##   1 10001   2   2  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
#   ##   2 10002  NA  NA   2   1  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
#   ##   3 10003  NA  NA   3   2  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
#   ##   4 10004  NA  NA   2   1  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
#   ##   5 10005  NA  NA   1   1  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
#   ##   6 10006  NA  NA   1   1  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
# # estimate model 03c
# mod03c <- tam.mml( dat1[,-1] , pid = dat1$pid )
# summary( mod03c )
# 
# #############################################################################
# # EXAMPLE 04: Faceted Rasch model for rating data data.cqc04
# #############################################################################
# 
# data(data.cqc04)
# resp <- data.cqc04[,4:8]
# facets <- data.cqc04[ , c("rater" , "topic") ]
# 
# #********************************************
# # Model 04a: 'item*step+rater+topic'
# formulaA <- ~ item*step + rater + topic
# mod04a <- tam.mml.mfr( resp , facets= facets ,
#             formulaA = formulaA , pid = data.cqc04$pid )
# summary( mod04a )
# 
# #********************************************
# # Model 04b: 'item*step+rater+topic+item*rater+item*topic'
# formulaA <- ~ item*step + rater + topic + item*rater + item*topic
# mod04b <- tam.mml.mfr( resp , facets= facets ,
#             formulaA = formulaA , pid = data.cqc04$pid )
# summary( mod04b )
# 
# #********************************************
# # Model 04c: 'item*step' with fixing rater and topic parameters to zero
# formulaA <- ~ item*step + rater + topic
# mod04c0 <- tam.mml.mfr( resp , facets= facets ,
#             formulaA = formulaA , pid = data.cqc04$pid , control=list(maxiter=4) )
# summary( mod04c0 )
# # fix rater and topic parameter to zero
# xsi.est <- mod04c0$xsi
# xsi.fixed <- cbind( seq(1,nrow(xsi.est)) , xsi.est$xsi )
# rownames(xsi.fixed) <- rownames(xsi.est)
# xsi.fixed <- xsi.fixed[ c(8:13) ,]
# xsi.fixed[,2] <- 0
#   ##   > xsi.fixed
#   ##             [,1] [,2]
#   ##   raterAM      8    0
#   ##   raterBE      9    0
#   ##   raterCO     10    0
#   ##   topicFami   11    0
#   ##   topicScho   12    0
#   ##   topicSpor   13    0
# mod04c1 <- tam.mml.mfr( resp , facets= facets ,
#              formulaA = formulaA , pid = data.cqc04$pid , xsi.fixed=xsi.fixed )
# summary( mod04c1 )
# 
# #############################################################################
# # EXAMPLE 05: Partial credit model with latent regression and
# #             plausible value imputation
# #############################################################################
# 
# data(data.cqc05)
# resp <- data.cqc05[ , -c(1:3) ] # select item responses
# 
# #********************************************
# # Model 05a: Partial credit model
# mod05a <-tam.mml(resp= resp , irtmodel="PCM2" )
# 
# #********************************************
# # Model 05b: Partial credit model with latent regressors
# mod05b <-tam.mml(resp= resp , irtmodel="PCM2" ,  Y = data.cqc05[,1:3] )
# # Plausible value imputation
# pvmod05b <- tam.pv( mod05b ) 
# ## End(Not run)

Run the code above in your browser using DataLab