ita function

Item Tree Analysis (ITA)

Item Tree Analysis (ITA)

Item tree analysis (ITA) on a set of binary responses.

ita(R, L = NULL, makeK = FALSE, search = c("local", "global"))

Arguments

  • R: a subject-by-problem indicator matrix representing the responses.
  • L: the threshold of violations acceptable for the precedence relation. If NULL (default), an optimal threshold is searched for.
  • makeK: should the corresponding knowledge structure be returned?
  • search: local (default) or global threshold search.

Details

ITA seeks to establish a precedence relation among a set of binary items. For each pair of items (p,q)(p, q), it counts how often pp is not solved if qq is solved, which constitutes a violation of the relation. ITA searches for a threshold L for the maximum number of violations consistent with a (transitive) precedence relation. Its attempts to minimize the total discrepancy between R and K.

See van Leeuwe (1974) and Schrepp (1999) for details.

Returns

An object of class ita having the following components: - K: the knowledge structure corresponding to the precedence relation.

  • discrepancy: the discrepancy between R and K (fit), between K and R (complexity), and their sum (total).

  • transitiveL: the vector of transitive thresholds.

  • searchL: either NULL or the method used for threshold search.

  • L: the selected or requested threshold.

  • P: the precedence matrix containing the number of violations.

  • I: the precedence relation as a logical incidence matrix at threshold L.

References

Schrepp, M. (1999). On the empirical construction of implications between bi-valued test items. Mathematical Social Sciences, 38 (3), 361--375. tools:::Rd_expr_doi("10.1016/S0165-4896(99)00025-6")

Van Leeuwe, J.F. (1974). Item tree analysis. Nederlands Tijdschrift voor de Psychologie en haar Grensgebieden, 29 (6), 475--483.

See Also

blim.

Examples

data(chess) ita(chess$R) # find (locally) optimal threshold L i <- ita(chess$R, L = 6, makeK = TRUE) identical(sort(as.pattern(i$K)), sort(as.pattern(chess$dst1))) ## Plotting the precedence relation if(requireNamespace("relations") && requireNamespace("Rgraphviz")) { plot(relations::as.relation(i$I)) }