| 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.
Q14AI enjoy learning mathematics
Q14BI wish have not to study Math
Q14CMathematics is boring
Q14DI learn interesting things in mathematics class
Q14EI like mathematics
Q14FI think it's important to do well in mathematics