classification_agreement_index {irt}R Documentation

Calculate agreement index

Description

Calculate agreement index

Usage

classification_agreement_index(
  true_score,
  estimated_score,
  cut_scores,
  cat_labels = NULL
)

Arguments

true_score

A numeric vector of examinees' true score values. Values can be in theta scale or summed scores.

estimated_score

A numeric vector of examinees' estimated score values. Values can be in theta scale or summed scores.

cut_scores

A sorted (ascending order) numeric vector of cut score values. Values can be in theta scale or summed scores. Do not include 0 or the maximum possible score of the test.

cat_labels

A string vector representing the labels of the categories. The length of the vector should be one more than the length of the cut scores. The default value is NULL where the categories will be labeled as 1, 2, ..., (number of cut scores plus one). For example, if there are three cut scores category labels can be: c("Unsatisfactory", "Basic", "Mastery", "Advanced").

Value

A list of following elements:

ca_table

A classification table where rows are true categories and columns are estimated categories. The values are the number of examinees.

ca_table

A classification table where rows are true categories and columns are estimated categories. The values are the proportion of examinees.

ca

Classification agreement index

Author(s)

Emre Gonulates

Examples


ip <- generate_ip(model = sample(c("GPCM", "2PL"), 20, TRUE))
n_examinee <- 1000
true_theta <- rnorm(n_examinee)
observed_theta <- true_theta + runif(n_examinee, -.5, .5)
theta_cs <- c(-1, 0, 1.5)
raw_cs <- round(rsss(ip = ip, scale_score = theta_cs))
true_raw_score <- round(rsss(ip = ip, scale_score = true_theta))
observed_raw_score <- round(rsss(ip = ip, scale_score = observed_theta))

# Theta scores
classification_agreement_index(true_score = true_theta,
                               estimated_score = observed_theta,
                               cut_scores = theta_cs)
# Summed scores
classification_agreement_index(true_score = true_raw_score,
                               estimated_score = observed_raw_score,
                               cut_scores = raw_cs)
# Add labels
classification_agreement_index(true_score = true_theta,
                               estimated_score = observed_theta,
                               cut_scores = theta_cs,
                               cat_labels = c("Unsatisfactory", "Basic",
                                              "Mastery", "Advanced"))


[Package irt version 0.2.9 Index]