summary.RdGenerate concise summary statistics for objects created by the Qval package.
The output is a named list tailored to the class of the input:
CDMcontains the original call, dataset dimensions, model fit object, and attribute-pattern distribution.
validationcontains the original call, suggested Q-matrix, and original Q-matrix.
sim.datacontains the original call, dataset dimensions, and attribute-pattern distribution.
fitcontains the original call, relative fit indices and absolute fit indices.
is.Qidentcontains the original call and results of whether the Q-matrix is identifiable.
att.hierarchycontains 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, ...)An object of class CDM, validation,
sim.data, fit, or is.Qident.
Currently unused. Additional arguments are ignored.
A named list with class summary.<class> containing the components above.
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
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
# }