Skip to content

MontclairML/ctticc

Repository files navigation

ctticc

Item characteristic curves (ICC's) are visual indicators of important attributes of assessment items - most commonly difficulty and discrimination. Assessment specialists who examine ICC's usually do so from within the psychometric framework of either Item Response Theory (IRT) or Rasch modeling. This R package provides an extension of this tradition into the Classical Test Theory (CTT) framework. The package has a psych dependency that facilitate the estimation of CTT-generated difficulty (pseudob) and discrimination (pseudoa) "parameters" from a psych::alpha object, and then plots the ICCs.

A handy compilation of how to interpret IRT parameters is located here.

Quick Links
How to Use
Plot Screenshots
Future Advancements

How to Use

To install from GitHub use devtools::install_github("MontclairML/ctticc").

Next, load the package via library(ctticc)

The function specification is:

ctticc(dataframe, item, plot, nrow, ncol)

The dataframe should contain binary responses from all items comprising the unidimensional scale. If you have additional variable information in your dataframe (e.g., respondent identifiers, demographics, or variables unrelated to the unidimensional scale), use square brackets [] to isolate your test items within your larger dataframe.

The item field indicates which columns should be presented visually. Use the concatenate function if you'd like to specify non-sequential items (for example, c(1,4,7)) would present ICCs for data columns 1, 4, and 7.

plot has values of together, grid, or separate. The default plot is together; specifying ctticc(dataframe) will present the together plot for all variables within the dataframe. If using the grid specification, you will also need to specify nrow and ncol (for example, the grid screenshot reflects values of 3 and 2).

Plot Screenshots

together grid separate

Future Advancements

  • The current "together" plot renders as a plotly object - if someone would like a more "exportable" visual, we may add a fourth plot option (e.g., static instead of dynamic).
  • We may add a "pseudo" Test Information Function.

Please also give us feedback and requests for additions or changes.