computeTargetValues {eatATA} | R Documentation |
Compute target values based on the item pool.
Description
Compute target values for item values/categories based on the number of items in the item pool, the number of test forms to assemble and the number of items in each test form (i.e., test length).
Usage
computeTargetValues(
itemValues,
nForms,
testLength = NULL,
allowedDeviation = NULL,
relative = FALSE
)
## Default S3 method:
computeTargetValues(
itemValues,
nForms,
testLength = NULL,
allowedDeviation = NULL,
relative = FALSE
)
## S3 method for class 'factor'
computeTargetValues(
itemValues,
nForms,
testLength = NULL,
allowedDeviation = NULL,
relative = FALSE
)
Arguments
itemValues |
Item parameter/values for which the sum per test form should be constrained. |
nForms |
Number of forms to be created. |
testLength |
to be documented. |
allowedDeviation |
Numeric value of length 1. How much deviance is allowed from target values? |
relative |
Is the |
Details
Both for numerical and categorical item values, the target values are the item
pool average scaled by the ratio of items in the forms and items in the item
pool. The behavior of the function changes depending on the class of
itemValues
.
When itemValues
is a numerical vector, an when allowedDeviation
is NULL
(the default), only one target value is computed. This value
could be used in the targetConstraint
-function. Otherwise (i.e.,
allowedDeviation
is a numerical value), the target is computed, but a
minimal and a maximal (target)value are returned, based on the allowed
deviation. When relative == TRUE
the allowed deviation should be
expressed as a proportion. In that case the minimal and maximal values are
a computed proportionally.
When itemValues
is a factor
, it is assumed that the item values
are item categories, and hence only whole valued frequencies are returned.
To be more precise, a matrix with the minimal and maximal target frequencies
for every level of the factor are returned. When allowedDeviation
is NULL
, the difference between the minimal and maximal value is
one (or zero). As a consequence, dummy-item values are best specified as a
factor (see examples).
Value
a vector or a matrix with target values (see details)
Methods (by class)
-
computeTargetValues(default)
: compute target values -
computeTargetValues(factor)
: compute target frequencies for item categories
Examples
## Assume an item pool with 50 items with random item information values (iif) for
## a given ability value.
set.seed(50)
itemInformations <- runif(50, 0.5, 3)
## The target value for the test information value (i.e., sum of the item
## informations) when three test forms of 10 items are assembled is:
computeTargetValues(itemInformations, nForms = 3, testLength = 10)
## The minimum and maximum test iformation values for an allowed deviation of
## 10 percent are:
computeTargetValues(itemInformations, nForms = 3, allowedDeviation = .10,
relative = TRUE, testLength = 10)
## items_vera$MC is dummy variable indication which items in the pool are multiple choise
str(items_vera$MC)
## when used as a numerical vector, the dummy is not treated as a categorical
## indicator, but rather as a numerical value.
computeTargetValues(items_vera$MC, nForms = 14)
computeTargetValues(items_vera$MC, nForms = 14, allowedDeviation = 1)
## Therefore, it is best to convert dummy variables into a factor, so that
## automatically freqyencies are returned
MC_factor <- factor(items_vera$MC, labels = c("not MC", "MC"))
computeTargetValues(MC_factor, nForms = 14)
computeTargetValues(MC_factor, nForms = 3)
## The computed minimum and maximum frequencies can be used to create contstraints.
MC_ranges <- computeTargetValues(MC_factor, nForms = 3)
itemCategoryRangeConstraint(3, MC_factor, range = MC_ranges)
## When desired, the automatically computed range can be adjusted by hand. This
## can be of use when only a limited set of the categories should be constrained.
## For instance, when only the multiple-choice items should be constrained, and
## the non-multiple-choice items should not be constrained, the minimum and
## maximum value can be set to a very small and a very high value, respectively.
## Or to other sensible values.
MC_ranges["not MC", ] <- c(0, 40)
MC_ranges
itemCategoryRangeConstraint(3, MC_factor, range = MC_ranges)