Generate concise summary statistics for objects created by the Qval package. The output is a named list tailored to the class of the input:

CDM

contains the original call, dataset dimensions, model fit object, and attribute-pattern distribution.

validation

contains the original call, suggested Q-matrix, and original Q-matrix.

sim.data

contains the original call, dataset dimensions, and attribute-pattern distribution.

fit

contains the original call, relative fit indices and absolute fit indices.

is.Qident

contains the original call and results of whether the Q-matrix is identifiable.

att.hierarchy

contains the results of iterative attribute hierarchy exploration.

# S3 method for class 'CDM'
summary(object, ...)

# S3 method for class 'validation'
summary(object, ...)

# S3 method for class 'sim.data'
summary(object, ...)

# S3 method for class 'fit'
summary(object, ...)

# S3 method for class 'is.Qident'
summary(object, ...)

# S3 method for class 'att.hierarchy'
summary(object, ...)

Arguments

object

An object of class CDM, validation, sim.data, fit, or is.Qident.

...

Currently unused. Additional arguments are ignored.

Value

A named list with class summary.<class> containing the components above.

Methods (by class)

  • summary(CDM): Summary method for CDM objects

  • summary(validation): Summary method for validation objects

  • summary(sim.data): Summary method for sim.data objects

  • summary(fit): Summary method for fit objects

  • summary(is.Qident): Summary method for is.Qident objects

  • summary(att.hierarchy): Summary method for att.hierarchy objects

Examples

set.seed(123)
library(Qval)

# \donttest{
################################################################
# Example 1: summary a CDM object                              #
################################################################
Q <- sim.Q(3, 20)
IQ <- list(P0 = runif(20, 0, 0.2), P1 = runif(20, 0.8, 1))
data.obj <- sim.data(Q, N = 500, IQ = IQ, 
                     model = "GDINA", distribute = "horder")
#> distribute =  horder 
#> model =  GDINA 
#>  number of attributes:  3 
#>  number of items:  20 
#>  num of examinees:  500 
#>  average of P0 =  0.083 
#>  average of P1 =  0.894 
#> theta_mean =  -0.055 , theta_sd = 0.996 
#>  a =  1.5 1.5 1.5 
#>  b =  -1.5 1.5 0 
CDM.obj <- CDM(data.obj$dat, Q, model = "GDINA", method = "EM")
#> 
Iter = 1  Max. abs. change = 0.58226  Deviance  = 10238.69                                                                                  
Iter = 2  Max. abs. change = 0.09628  Deviance  = 8499.25                                                                                  
Iter = 3  Max. abs. change = 0.03447  Deviance  = 8474.14                                                                                  
Iter = 4  Max. abs. change = 0.01418  Deviance  = 8473.11                                                                                  
Iter = 5  Max. abs. change = 0.01087  Deviance  = 8473.00                                                                                  
Iter = 6  Max. abs. change = 0.00870  Deviance  = 8472.98                                                                                  
Iter = 7  Max. abs. change = 0.00678  Deviance  = 8472.96                                                                                  
Iter = 8  Max. abs. change = 0.00521  Deviance  = 8472.96                                                                                  
Iter = 9  Max. abs. change = 0.00398  Deviance  = 8472.95                                                                                  
Iter = 10  Max. abs. change = 0.00303  Deviance  = 8472.95                                                                                  
Iter = 11  Max. abs. change = 0.00230  Deviance  = 8472.95                                                                                  
Iter = 12  Max. abs. change = 0.00174  Deviance  = 8472.95                                                                                  
Iter = 13  Max. abs. change = 0.00131  Deviance  = 8472.95                                                                                  
Iter = 14  Max. abs. change = 0.00099  Deviance  = 8472.95                                                                                  
Iter = 15  Max. abs. change = 0.00075  Deviance  = 8472.95                                                                                  
Iter = 16  Max. abs. change = 0.00056  Deviance  = 8472.95                                                                                  
Iter = 17  Max. abs. change = 0.00042  Deviance  = 8472.95                                                                                  
Iter = 18  Max. abs. change = 0.00032  Deviance  = 8472.95                                                                                  
Iter = 19  Max. abs. change = 0.00024  Deviance  = 8472.95                                                                                  
Iter = 20  Max. abs. change = 0.00018  Deviance  = 8472.95                                                                                  
Iter = 21  Max. abs. change = 0.00014  Deviance  = 8472.95                                                                                  
Iter = 22  Max. abs. change = 0.00010  Deviance  = 8472.95                                                                                  
Iter = 23  Max. abs. change = 0.00008  Deviance  = 8472.95                                                                                  
summary(CDM.obj)
#> ==============================================
#>  Number of items       = 20 
#>  Number of attributes  = 3 
#>  Number of individuals = 500 
#> 
#> Model Fit:
#> Deviance     npar      AIC      BIC 
#> 8472.948   87.000 8646.948 9013.619 
#> 
#> Distribution of Alpha Patterns:
#>        000   001  010   011   100   101   110   111
#> freq    97    21  120   144     4    13    32    69
#> prop 0.194 0.042 0.24 0.288 0.008 0.026 0.064 0.138


################################################################
# Example 2: summary a validation object                       #
################################################################
MQ <- sim.MQ(Q, 0.1)
#> rate of mis-specifications =  0.1 
#>  rate of  over-specifications =  0.07 
#>  rate of under-specifications =  0.03 
CDM.obj2 <- CDM(data.obj$dat, MQ)
#> 
Iter = 1  Max. abs. change = 0.55372  Deviance  = 11376.15                                                                                  
Iter = 2  Max. abs. change = 0.20467  Deviance  = 8794.76                                                                                  
Iter = 3  Max. abs. change = 0.09264  Deviance  = 8719.26                                                                                  
Iter = 4  Max. abs. change = 0.02536  Deviance  = 8711.41                                                                                  
Iter = 5  Max. abs. change = 0.01925  Deviance  = 8709.92                                                                                  
Iter = 6  Max. abs. change = 0.01285  Deviance  = 8709.44                                                                                  
Iter = 7  Max. abs. change = 0.00801  Deviance  = 8709.25                                                                                  
Iter = 8  Max. abs. change = 0.00478  Deviance  = 8709.17                                                                                  
Iter = 9  Max. abs. change = 0.00281  Deviance  = 8709.14                                                                                  
Iter = 10  Max. abs. change = 0.00167  Deviance  = 8709.13                                                                                  
Iter = 11  Max. abs. change = 0.00101  Deviance  = 8709.12                                                                                  
Iter = 12  Max. abs. change = 0.00064  Deviance  = 8709.12                                                                                  
Iter = 13  Max. abs. change = 0.00041  Deviance  = 8709.12                                                                                  
Iter = 14  Max. abs. change = 0.00029  Deviance  = 8709.11                                                                                  
Iter = 15  Max. abs. change = 0.00021  Deviance  = 8709.11                                                                                  
Iter = 16  Max. abs. change = 0.00015  Deviance  = 8709.11                                                                                  
Iter = 17  Max. abs. change = 0.00011  Deviance  = 8709.11                                                                                  
Iter = 18  Max. abs. change = 0.00008  Deviance  = 8709.11                                                                                  
val.obj <- validation(data.obj$dat, MQ, CDM.obj2, method = "GDI")
#> GDI  method with  PAA  in  test  level iteration ...
#> Iter  =  1/  1,   9 items have changed, ΔPVAF=1.04625 
summary(val.obj)
#> ==============================================
#> 
#> Suggested Q-matrix: 
#> 
#>         A1 A2 A3
#> item 1  0  1  0 
#> item 2  1  0  1 
#> item 3  1  0* 1 
#> item 4  0  0  1 
#> item 5  1* 0  1 
#> item 6  0* 0  1 
#> item 7  0  0  1 
#> item 8  0* 1  0 
#> item 9  0  0  1 
#> item 10 0* 1  1 
#> item 11 1  1  0*
#> item 12 0  1  1*
#> item 13 1  0  0 
#> item 14 0  0  1 
#> item 15 1  0* 0 
#> item 16 0  1  1 
#> item 17 1  1  1 
#> item 18 1  0  1 
#> item 19 0  1  0*
#> item 20 1  1  1 
#> Note: * denotes a modified element.


################################################################
# Example 3: summary a sim.data object                         #
################################################################
data.obj2 <- sim.data(Q = sim.Q(3, 10), N = 1000)
#> distribute =  uniform 
#> model =  GDINA 
#>  number of attributes:  3 
#>  number of items:  10 
#>  num of examinees:  1000 
#>  average of P0 =  0.134 
#>  average of P1 =  0.865 
summary(data.obj2)
#> ==============================================
#>  Number of items       = 10 
#>  Number of attributes  = 3 
#>  Number of individuals = 1000 
#> 
#> Distribution of Alpha Patterns:
#>        000   001   010   011   100   101  110   111
#> freq   134   106   119   117   127   139  130   128
#> prop 0.134 0.106 0.119 0.117 0.127 0.139 0.13 0.128

################################################################
# Example 4: summary a fit object                         #
################################################################
fit.obj <- fit(data.obj$dat, Q, model="GDINA")
#> 
Iter = 1  Max. abs. change = 0.58226  Deviance  = 10238.69                                                                                  
Iter = 2  Max. abs. change = 0.09628  Deviance  = 8499.25                                                                                  
Iter = 3  Max. abs. change = 0.03447  Deviance  = 8474.14                                                                                  
Iter = 4  Max. abs. change = 0.01418  Deviance  = 8473.11                                                                                  
Iter = 5  Max. abs. change = 0.01087  Deviance  = 8473.00                                                                                  
Iter = 6  Max. abs. change = 0.00870  Deviance  = 8472.98                                                                                  
Iter = 7  Max. abs. change = 0.00678  Deviance  = 8472.96                                                                                  
Iter = 8  Max. abs. change = 0.00521  Deviance  = 8472.96                                                                                  
Iter = 9  Max. abs. change = 0.00398  Deviance  = 8472.95                                                                                  
Iter = 10  Max. abs. change = 0.00303  Deviance  = 8472.95                                                                                  
Iter = 11  Max. abs. change = 0.00230  Deviance  = 8472.95                                                                                  
Iter = 12  Max. abs. change = 0.00174  Deviance  = 8472.95                                                                                  
Iter = 13  Max. abs. change = 0.00131  Deviance  = 8472.95                                                                                  
Iter = 14  Max. abs. change = 0.00099  Deviance  = 8472.95                                                                                  
Iter = 15  Max. abs. change = 0.00075  Deviance  = 8472.95                                                                                  
Iter = 16  Max. abs. change = 0.00056  Deviance  = 8472.95                                                                                  
Iter = 17  Max. abs. change = 0.00042  Deviance  = 8472.95                                                                                  
Iter = 18  Max. abs. change = 0.00032  Deviance  = 8472.95                                                                                  
Iter = 19  Max. abs. change = 0.00024  Deviance  = 8472.95                                                                                  
Iter = 20  Max. abs. change = 0.00018  Deviance  = 8472.95                                                                                  
Iter = 21  Max. abs. change = 0.00014  Deviance  = 8472.95                                                                                  
Iter = 22  Max. abs. change = 0.00010  Deviance  = 8472.95                                                                                  
Iter = 23  Max. abs. change = 0.00008  Deviance  = 8472.95                                                                                  
summary(fit.obj)
#> ==============================================
#>  Number of parameters  = 87 
#> 
#> Relative fit indices  = :
#>     -2LL      AIC      BIC     CAIC    SABIC 
#> 8472.948 8646.948 9013.619 9100.619 8737.475 
#> 
#> Absolute fit indices = :
#>      M2      df p.value  RMSEA2   SRMSR 
#> 126.958 123.000   0.385   0.008   0.028 
# }