Learn R Programming

irt (version 0.2.9)

classification_agreement_index: Calculate agreement index

Description

Calculate agreement index

Usage

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

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

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").

Author

Emre Gonulates

Examples

Run this code

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"))

Run the code above in your browser using DataLab