InterItemAnalysis {exametrika} | R Documentation |
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)
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 |
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
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
See Also
dataFormat
for data preparation, CTT
for
Classical Test Theory analysis
Examples
# 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)