klausur.mufo {klausuR} | R Documentation |
Evaluate multiple choice tests with several test forms
Description
This function can be used to evaluate tests that have several test forms. Please be aware that its results only make sense if each test form uses the same items, only in a different order.
Usage
klausur.mufo(
data,
marks = NULL,
mark.labels = NULL,
items = NULL,
wght = NULL,
score = "solved",
matn = NULL,
na.rm = TRUE,
cronbach = TRUE,
item.analysis = TRUE
)
Arguments
data |
An object of class |
marks |
A vector assigning marks to points achieved (see details). Alternatively,
set it to |
mark.labels |
If |
items |
Indices of a subset of variables in |
wght |
A vector with weights for each item (named also according to |
score |
Specify the scoring policy, must be one of |
matn |
A matriculation number of a subject, to receive detailed results for that subject. |
na.rm |
Logical,
whether cases with NAs should be ignored in |
cronbach |
Logical. If TRUE, Cronbach's alpha will be calculated. |
item.analysis |
Logical. If TRUE,
some usual item statistics like difficulty and discriminatory power will be calculated.
If |
Details
Firstly, klausur.mufo
will compute partial results for each parallel form,
and in the end combine these to global
results. Cronbach alpha and item analysis will be calculated for all subjects accordingly,
therefore the test items of
all tests will be re-ordered to fit the order of the first given test form (this does not apply to the partial results).
The parameters are mostly the same as those for klausur
. However,
in the data
object the
slot corr
must also contain corr.key
,
to communicate the order of items in each test form, and the slot id
needs one additional variable called Form
.
An example: You have prepared a test in two different parallel forms "A" an "B",
So in addition to the variables in data@id
you need to create a variable called Form
,
to document which test subject was given which test form. Since form "B" holds the same
items as form "A", only in a different order,
we only need to define these positions and we're done. Therefore corr.key
must
be a matrix or data.frame, again with a column called "Form", one column for each item,
and one row of data for each test form. That is, you'd need
one row for test form "A" and one for test form "B",
giving an index for each item where it is placed in the form. For "A" this is
simply ascending numbers from 1 to how many questions you asked,
but for row "B" each number indicates at which position an item
of "A" is to be found. See the example below.
Value
An object of class klausuR.mult-class
with the following slots.
forms |
A character vector naming all test forms |
results.part |
A list of objects of class |
results.glob |
An object of class |
Not all slots are shown by default (refer to show
).
Author(s)
m.eik michalke meik.michalke@uni-duesseldorf.de
See Also
Examples
# this will create the data.frame "antworten.mufo"
# and the matrix "corr.key"
data(antworten.mufo)
# vector with correct answers:
richtig <- c(Item01=3, Item02=2, Item03=2, Item04=2, Item05=4,
Item06=3, Item07=4, Item08=1, Item09=2, Item10=2, Item11=4,
Item12=4, Item13=2, Item14=3, Item15=2, Item16=3, Item17=4,
Item18=4, Item19=3, Item20=5, Item21=3, Item22=3, Item23=1,
Item24=3, Item25=1, Item26=3, Item27=5, Item28=3, Item29=4,
Item30=4, Item31=13, Item32=234)
# vector with assignement of marks:
notenschluessel <- c()
# scheme of assignments: marks[points_from:to] <- mark
notenschluessel[0:12] <- 5.0
notenschluessel[13:15] <- 4.0
notenschluessel[16:18] <- 3.7
notenschluessel[19:20] <- 3.3
notenschluessel[21] <- 3.0
notenschluessel[22] <- 2.7
notenschluessel[23] <- 2.3
notenschluessel[24] <- 2.0
notenschluessel[25:26] <- 1.7
notenschluessel[27:29] <- 1.3
notenschluessel[30:32] <- 1.0
# now combine all test data into one object of class klausur.answ
mufo.data.obj <- klausur.data(answ=antworten.mufo, corr=richtig, marks=notenschluessel,
corr.key=corr.key)
# expect some warnings here, because some items have no variance
# in their subtest results, hence item analysis fails on them
klsr.mufo.obj <- klausur.mufo(mufo.data.obj)