Check necessary and sufficient identifiability conditions of the DINA model according Gu and Xu (xxxx) for a given Q-matrix.

din_identifiability(q.matrix)

# S3 method for din_identifiability
summary(object, ...)

Arguments

q.matrix

Q-matrix

object

Object of class din_identifiability

...

Further arguments to be passed

Value

List with values

dina_identified

Logical indicating whether the DINA model is identified

index_single

Condition 1: vector of logicals indicating whether skills are measured by at least one item with a single loading

is_three_items

Condition 2: vector of logicals indicating whether skills are measured by at least three items

submat_distinct

Condition 3: logical indicating whether all columns of the submatrix \(Q^\ast\) are distinct.

References

Gu, Y., & Xu, G. (2018). The sufficient and necessary condition for the identifiability and estimability of the DINA model. Psychometrika, xx(xx), xxx-xxx. https://doi.org/10.1007/s11336-018-9619-8

See also

See din.equivalent.class for equivalent (i.e., non-distinguishable) skill classes in the DINA model.

Examples

#############################################################################
# EXAMPLE 1: Some examples of Gu and Xu (2019)
#############################################################################

#* Matrix 1 in Equation (5) of Gu & Xu (2019)
Q1 <- diag(3)
Q2 <- matrix( scan(text="1 1 0 1 0 1 1 1 1 1 1 1"), ncol=3, byrow=TRUE)
Q <- rbind(Q1, Q2)

res <- CDM::din_identifiability(q.matrix=Q)
summary(res)

# remove two items
res <- CDM::din_identifiability(q.matrix=Q[-c(2,5),])
summary(res)

#* Matrix 1 in Equation (6) of Gu & Xu (2019)
Q1 <- diag(3)
Q2 <- matrix( c(1,1,1), nrow=4, ncol=3, byrow=TRUE)
Q <- rbind(Q1, Q2)

res <- CDM::din_identifiability(q.matrix=Q)
summary(res)