Learn R Programming

exametrika (version 1.6.0)

InterItemAnalysis: Inter-Item Analysis for Psychometric Data

Description

Calculates various relationship metrics between pairs of items in test data. This analysis helps identify item interdependencies, content overlaps, and potential local dependence. For binary data, metrics include joint response rates, conditional probabilities, and several correlation measures. For ordinal/rated data, appropriate correlation measures are calculated.

The following metrics are calculated for binary data:

  • JSS: Joint Sample Size - number of examinees responding to both items

  • JCRR: Joint Correct Response Rate - proportion of examinees answering both items correctly

  • CCRR: Conditional Correct Response Rate - probability of answering one item correctly given a correct response to another item

  • IL: Item Lift - ratio of joint correct response rate to the product of marginal rates

  • MI: Mutual Information - measure of mutual dependence between items

  • Phi: Phi Coefficient - correlation coefficient for binary variables

  • Tetrachoric: Tetrachoric Correlation - estimate of Pearson correlation for underlying continuous variables

For ordinal/rated data, the function calculates:

  • JSS: Joint Sample Size

  • JSR: Joint Selection Rate

  • CSR: Conditional Selection Rate

  • MI: Mutual Information

  • Polychoric: Polychoric Correlation - extension of tetrachoric correlation for ordinal data

Usage

InterItemAnalysis(U, na = NULL, Z = NULL, w = NULL)

Value

For binary data, an object of class "exametrika" and "IIAnalysis" containing:

JSS

Joint Sample Size matrix - N(i,j) shows number of examinees who responded to both items i and j

JCRR

Joint Correct Response Rate matrix - P(Xi=1, Xj=1) shows probability of correct responses to both items

CCRR

Conditional Correct Response Rate matrix - P(Xi=1|Xj=1) shows probability of correct response to item i given correct response to item j

IL

Item Lift matrix - P(Xi=1, Xj=1)/(P(Xi=1)*P(Xj=1)) measures association strength

MI

Mutual Information matrix - measures information shared between items

Phi

Phi Coefficient matrix - correlation coefficient between binary variables

Tetrachoric

Tetrachoric Correlation matrix - correlation between underlying continuous variables

For ordinal/rated data, an object of class "exametrika" and "IIAnalysis.ordinal" containing:

JSS

Joint Sample Size matrix

JSR

Joint Selection Rate matrix - frequencies of joint category selections

CSR

Conditional Selection Rate matrix - probabilities of response categories conditional on other items

MI

Mutual Information matrix

Polychoric

Polychoric Correlation matrix - correlations between underlying continuous variables

Arguments

U

Either an object of class "exametrika" or raw data. When raw data is given, it is converted to the exametrika class with the dataFormat function.

na

Values to be treated as missing values.

Z

Missing indicator matrix of type matrix or data.frame. Values of 1 indicate observed responses, while 0 indicates missing data.

w

Item weight vector specifying the relative importance of each item.

Details

This function automatically detects the data type and applies appropriate analysis methods:

  • For binary data: Calculates tetrachoric correlations and related statistics

  • For ordinal/rated data: Calculates polychoric correlations and related statistics

  • For nominal data: Returns an error (not supported)

Inter-item analysis is useful for:

  • Identifying groups of highly related items

  • Detecting local dependence between items

  • Evaluating test dimensionality

  • Informing item selection and test construction

See Also

dataFormat for data preparation, CTT for Classical Test Theory analysis

Examples

Run this code
# \donttest{
# Basic usage with binary data
ii_analysis <- InterItemAnalysis(J15S500)

# View joint sample sizes
head(ii_analysis$JSS)

# View tetrachoric correlations
head(ii_analysis$Tetrachoric)

# Find pairs of items with high mutual information (potential local dependence)
high_MI <- which(ii_analysis$MI > 0.2 & upper.tri(ii_analysis$MI), arr.ind = TRUE)
if (nrow(high_MI) > 0) {
  print("Item pairs with high mutual information:")
  print(high_MI)
}

# Example with ordinal data
ordinal_analysis <- InterItemAnalysis(J15S3810)

# View polychoric correlations for ordinal data
head(ordinal_analysis$Polychoric)
# }

Run the code above in your browser using DataLab