This function approximates the skill space with \(K\) skills to approximate a (typically high-dimensional) skill space of \(2^K\) classes by \(L\) classes \((L < 2^K)\). The large number of latent classes are represented by underlying continuous latent variables for the dichotomous skills (see George & Robitzsch, 2014, for more details).

skillspace.approximation(L, K, nmax=5000)

Arguments

L

Number of skill classes used for approximation

K

Number of skills

nmax

Number of quasi-randomly generated skill classes using the QUnif function in sfsmisc

Value

A matrix containing skill classes in rows

References

George, A. C., & Robitzsch, A. (2014). Multiple group cognitive diagnosis models, with an emphasis on differential item functioning. Psychological Test and Assessment Modeling, 56(4), 405-432.

Note

This function uses the sfsmisc::QUnif function from the sfsmisc package.

See also

See also gdina (Example 9).

Examples

#############################################################################
# EXAMPLE 1: Approximate a skill space of K=8 eight skills by 20 classes
#############################################################################

#=> 2^8=256 latent classes if all latent classes would be used
CDM::skillspace.approximation( L=20, K=8 )
  ##             [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
  ##   P00000000    0    0    0    0    0    0    0    0
  ##   P00000001    0    0    0    0    0    0    0    1
  ##   P00001011    0    0    0    0    1    0    1    1
  ##   P00010011    0    0    0    1    0    0    1    1
  ##   P00101001    0    0    1    0    1    0    0    1
  ##   [...]
  ##   P11011110    1    1    0    1    1    1    1    0
  ##   P11100110    1    1    1    0    0    1    1    0
  ##   P11111111    1    1    1    1    1    1    1    1