Version: | 1.1 |
Date: | 2022-06-13 |
Title: | Classical Test Theory Item Analysis |
Author: | Cengiz Zopluoglu |
Maintainer: | Cengiz Zopluoglu <cen.zop@gmail.com> |
Depends: | ggplot2, polycor, car |
Description: | Runs classical item analysis for multiple-choice test items and polytomous items (e.g., rating scales). The statistics reported in this package can be found in any measurement textbook such as Crocker and Algina (2006, ISBN:9780495395911). |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
URL: | https://cengiz.me/ |
NeedsCompilation: | no |
Packaged: | 2022-06-13 17:07:56 UTC; cengiz |
Repository: | CRAN |
Date/Publication: | 2022-06-14 00:10:02 UTC |
Raw data from a multiple-choice test
Description
The data is taken from the following website http://www.jmetrik.com/example-data.php. This file includes nominal responses of 6,000 examinees to 56 binary items.
Usage
data(dichotomous)
Format
A data frame with 60000 examinees and 56 items
itemanalysis: Classical Test Theory Item Analysis
Description
This package
Details
Package: | ITEMAN |
Type: | Package |
Version: | 1.0 |
Date: | 2015-09-29 |
License: | GPL-2 |
LazyLoad: | yes |
The package can be used to run classical item analysis for multiple-choice test items and polytomously scored items (e.g., rating scale items).
Author(s)
Maintainer: Cengiz Zopluoglu <c.zopluoglu@miami.edu>
See Also
itemanalysis1
for running classical item analysis for multiple-choice test items
itemanalysis2
for running classical item analysis for polytomously scored items
Classical Test Theory Item Analysis for Multiple-Choice Test Items
Description
Classicial Test Theory Item Analysis for Multiple-Choice Test Items
Usage
itemanalysis1(data, key, options, ngroup = ncol(data) + 1, correction = TRUE,
span.par=.3, verbose = T)
Arguments
data |
a data frame with N rows and m columns, with N denoting the number of subjects and m denoting the number of items. |
key |
a vector of answer key with a length of m |
options |
a vector of response options for the test such as c("A","B","C","D") |
ngroup |
number of score groups to be use for plotting the item trace lines |
correction |
TRUE or FALSE. If it is TRUE, then an adjustment is made for point-biserial correlation. |
span.par |
a smoothing parameter to pass to ggplots when creating empirical ICCs |
verbose |
TRUE or FALSE. If it is TRUE, text output is printed. |
Details
To be added later.
Value
plots |
a list object storing the item trace line plots for each item |
item.stat |
a matrix of basic item statistics |
dist.sel |
a matrix of distractor selection proportion statistics |
dist.disc |
a matrix of corrected point-biserial statistics for distractors |
dist.disc |
a matrix of corrected biserial statistics for distractors |
Author(s)
Cengiz Zopluoglu
See Also
itemanalysis2
for classical item analysis of polytomously scored items
Examples
## Not run:
data(dichotomous)
head(dichotomous)
str(dichotomous)
# Key response vector
key <- c("A","D","C","B","C","B","C","D","A","D","C","A","D","C","A",
"B","D","B","A","C","A","A","C","B","C","B","D","A","A","A",
"C","B","B","A","B","D","D","A","D","C","D","A","B","B","C",
"D","B","C","C","B","D","A","C","B","A","D")
# Use itemanalysis1 function to run the item analysis
# In order to reduce running time for the example below,
# I specify "data=dichotomous[,1:10]", so it only analyze the
# first 10 items.
# You should specify "data=dichotomous" to analyze based on 56 items.
item.analysis <- itemanalysis1(data=dichotomous[,1:10],
key=key,
options=c("A","B","C","D"),
ngroup=10,
correction=FALSE)
item.analysis$item.stat
item.analysis$dist.sel
item.analysis$dist.disc
item.analysis$plots[[1]] # Item Trace Line for the first item
item.analysis$plots[[2]] # Item Trace Line for the second item
item.analysis$plots[[3]] # Item Trace Line for the third item
item.analysis$plots[[4]] # Item Trace Line for the fourth item
item.analysis$plots[[5]] # Item Trace Line for the fifth item
item.analysis$plots[[6]] # Item Trace Line for the sixth item
item.analysis$plots[[7]] # Item Trace Line for the seventh item
item.analysis$plots[[8]] # Item Trace Line for the eigth item
item.analysis$plots[[9]] # Item Trace Line for the ninth item
item.analysis$plots[[10]] # Item Trace Line for the tenth item
## End(Not run)
Classical Test Theory Item Analysis for Polytomous Items
Description
Classical Test Theory Item Analysis for Polytomous Items
Usage
itemanalysis2(data, options, ngroup = ncol(data) + 1, correction = TRUE,
span.par=.3,verbose=T)
Arguments
data |
a data frame with N rows and m columns, with N denoting the number of subjects and m denoting the number of items. |
options |
a vector of numerical code of the response categories available for the items such as c(0,1,2,3). The minumum score is assumed to be 0. |
ngroup |
number of score groups to be use for plotting the item trace lines |
correction |
TRUE or FALSE. If it is TRUE, then an adjustment is made for point-biserial correlation. |
span.par |
a smoothing parameter to pass to ggplots when creating empirical ICCs |
verbose |
TRUE or FALSE. If it is TRUE, text output is printed. |
Details
to be added later
Value
plots |
a list object storing the item trace line plots for each item |
item.stat |
a matrix of basic item statistics |
dist.sel |
a matrix of distractor selection proportion statistics |
dist.disc |
a matrix of corrected point-biserial statistics for distractors |
dist.disc |
a matrix of corrected biserial statistics for distractors |
Author(s)
Cengiz Zopluoglu
See Also
itemanalysis1
for classical item analysis of multiple-choice test items
Examples
## Not run:
data(timss2011_usa)
timss2011_usa$Q14B <- recode(var = timss2011_usa$Q14B,
recodes = "c(0)=3;c(1)=2;c(2)=1;c(3)=0")
timss2011_usa$Q14C <- recode(var = timss2011_usa$Q14C,
recodes = "c(0)=3;c(1)=2;c(2)=1;c(3)=0")
item.analysis <- itemanalysis2(data=timss2011_usa,
options=c(0,1,2,3),
ngroup=18,
correction=FALSE)
item.analysis$item.stat
item.analysis$dist.sel
item.analysis$dist.disc
item.analysis$plots[[1]] # Item Trace Line for the first item
item.analysis$plots[[2]] # Item Trace Line for the second item
item.analysis$plots[[3]] # Item Trace Line for the third item
item.analysis$plots[[4]] # Item Trace Line for the fourth item
item.analysis$plots[[5]] # Item Trace Line for the fifth item
item.analysis$plots[[6]] # Item Trace Line for the sixth item
## End(Not run)
TIMMS 2011 USA Data - Attitude Towards Math
Description
The data is a subset of TIMSS 2011 USA data and includes responses for six statements to measure attitudes towards math. These rating scale items have response codes from 0 to 3 with 0 indicating "I strongly disagree", 1 indicating "I disagree", 2 indicating "I agree", and 3 indicating "I strongly agree" for a given statement. Note that items 14B and 14C has to be reverse coded before analysis to make them consistent with other four items.
Usage
data(timss2011_usa)
Format
A data frame with 10079 observaiton and 6 items.
Q14A
I enjoy learning mathematics
Q14B
I wish have not to study Math
Q14C
Mathematics is boring
Q14D
I learn interesting things in mathematics class
Q14E
I like mathematics
Q14F
I think it's important to do well in mathematics