as.irt.pars {plink} | R Documentation |
This function attempts to turn the given values into an irt.pars object
as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'numeric', 'missing' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'matrix', 'missing' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'data.frame', 'missing' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'list', 'missing' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'sep.pars', 'missing' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'list', 'matrix' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...) ## S4 method for signature 'list', 'list' as.irt.pars(x, common, cat, poly.mod, location = FALSE, grp.names = NULL, ...)
x |
an R object containing item parameters. See below for more details |
common |
j x 2 matrix or list of matrices identifying the common items between
adjacent groups in x . This argument is only applicable when x
includes two or more groups |
cat |
vector or list of the number of response categories for each item in x .
if x is a list, cat should be a list as well. For multiple-choice
model items, cat is the number of response categories plus one (the
additional category is for 'do not know') |
poly.mod |
a poly.mod object or a list of poly.mod
objects (one for each group in x ) |
location |
logical vector identifying whether the parameters in x
include a location parameter (i.e. for polytomous items) |
grp.names |
character vector of group names |
... |
further arguments passed to or from other methods |
Returns an object of class irt.pars
x
is assumed to be
a vector of item difficulties. Discrimination parameters are set to one and the
lower asymptote values are set to zero for all items.x
can include item parameters from
multiple models. The general format for structuring x
is an additive column
approach. That is, the left-most columns are typically for discrimination parameters,
the next column, if applicable, is for location parameters, the next set of columns
is for difficulty/threshold/step/category parameters, and the final set of columns
is for guessing parameters. When multiple models are included, or models with
differing numbers of response categories, not all cells in x
will have data.
In these instances, cells with no data should be NA
.
x
should contain at least two
columns, the first for item discriminations (identical for all items) and the second
for item difficulties. The lower asymptote defaults to zero for all items; however, a
third column of zeros can be included.x
should include at lease two columns, the first for item
discriminations and the second for item difficulties. The lower asymptote defaults to
zero for all items; however, a third column of zeros can be included.x
should include three columns, the first for item discriminations,
the second for item difficulties, and the third for lower asymptote values.NA
.NA
.
If the nominal response model or multiple-choice model are used in conjunction with
another model with only a single discrimination parameter, the first list element should
be a matrix with discrimination values for the single discrimination value models in the
first column and NA
s in the remaining columns. Similarly, if the multiple-choice
model is included, lower asymptote parameters for the 3PL model should be included in the
first column of the matrix of guessing probabilities in the third list element with NA
s
for all other columns. For all other models, all the columns should be NA
.
x
should contain
at least two list elements, the first for item discriminations (identical for all items)
and the second for item difficulties. The lower asymptote defaults to zero for all items;
however, a third element with a vector/matrix of zeros can be included.
If x
includes parameters for multiple models and the number of list elements is
two, the first element should include a vector of ones. If the number of list elements
is three, the third element should include a vector of zeros.
x
should include at lease two list elements, the first for item
discriminations and the second for item difficulties. The lower asymptote defaults to
zero for all items; however, a third element with a vector/matrix of zeros can be included.
If x
includes parameters for multiple models and the number of list elements
is three, the third element should include a vector of zeros.
x
should include three list elements, the first for item discriminations,
the second for item difficulties, and the third for lower asymptote values.The list element containing the step or step deviation parameters should be a matrix. If the parameters are deviations from a location parameter, the location parameter must be in the first column with the remaining columns for the step deviation values. If no location parameter is included, the step parameters should begin in column one. (See the method for x = 'matrix' above for more information on the formatting for this object).
If x
includes multiple models and the number of list elements is two, the first
list element should include a vector of ones or a vector of constant discrimination
values. If there are three columns, the third list element should conatain a vector
of NA
for all the PCM items.
If x
includes multiple models and there are three list elements, the third element
should conatain a vector of NA
for all the GPCM items.
If x
includes multiple models and there are three list elements, the third element
should conatain a vector of NA
for all the GRM items.
NA
for the NRM items.x
is an object of class sep.pars
.
The arguments cat
, poly.mod
, and location
do not need to be included.irt.pars
object. The format of each list element does
not need to be the same. That is, the first list element might be a "sep.pars"
object while the second element is a list of item parameters. If an object of class
irt.pars
is included, the object can contain information for a single group
or for multiple groups. If the irt.pars
object includes multiple groups,
common
should identify the common items between the last group in x[[1]]
and the first group in x[[2]]
.
For this method common
is a j x 2 matrix where the first column identifies the
common items for the first group (x[[1]]
). The second column in common
identifies the corresponding set of common items from the next list element. For example,
if item 4 in group one (row 4 in x[[1]]
) is the same as item 6 in group two, the
first row of common
would be "4,6"
.
If the objects in x
are of class sep.pars
or irt.pars
, cat
,
poly.mod
, and location
do not need to be included.
common
can be
defined as a list with length one. Each list element should conform to one of the formats
listed above (i.e. a numeric vector, matrix/data.frame, list, or sep.pars object)
or be an irt.pars
object. The format of each list element does
not need to be the same. That is, the first list element might be a "sep.pars"
object while the second element is a list of item parameters. If an object of class
irt.pars
is included, the object can contain information for a single group
or for multiple groups. The list elements in x
should be ordered such that
adjacent elements correspond to adjacent groups. If an "irt.pars"
object is
included with multiple groups, the list element following this object should contain
information for a group that is adjacent to the last group in the "irt.pars"
object
For this method common
is a list of j x 2 matrices where the first column identifies
the identifies the common items for the first group of two adjacent list elements in
The second column in common
identifies the corresponding set of common items from the
next list element in x
. For example, if x
contains only two list elements, a
single set of common items links them together. If item 4 in group one (row 4 in slot pars
)
is the same as item 6 in group two, the first row of common
would be "4,6"
.
If all the objects in x
are of class sep.pars
or irt.pars
, the arguments
cat
, poly.mod
, and location
do not need to be included.
Jonathan P. Weeks weeksjp@gmail.com
irt.pars
, as.poly.mod
, poly.mod
,
sep.pars
# Create object for three dichotomous (1PL) items with difficulties -1, 0, 1 x <- as.irt.pars(c(-1,0,1)) # Create object for three dichotomous (3PL) items and two polytomous (gpcm) items # without a location parameter (use signature matrix, missing) dichot <- matrix(c(1.2, .8, .9, 2.3, -1.1, -.2, .24, .19, .13),3,3) poly <- matrix(c(.64, -1.8, -.73, .45, NA, .88, .06, 1.4, 1.9, 2.6),2,5,byrow=TRUE) pars <- rbind(cbind(dichot,matrix(NA,3,2)),poly) cat <- c(2,2,2,4,5) pm <- as.poly.mod(5, c("drm","gpcm"), list(1:3,4:5)) x <- as.irt.pars(pars, cat=cat, poly.mod=pm) summary(x) # Create object for three dichotomous (3PL) items and two polytomous (gpcm) items # without a location parameter (use signature list, missing) a <- c(1.2, .8, .9, .64, .88) b <- matrix(c( 2.3, rep(NA,3), -1.1, rep(NA,3), -.2, rep(NA,3), -1.8, -.73, .45, NA, .06, 1.4, 1.9, 2.6),5,4,byrow=TRUE) c <- c(1.4, 1.9, 2.6, NA, NA) pars <- list(a,b,c) cat <- c(2,2,2,4,5) pm <- as.poly.mod(5, c("drm","gpcm"), list(1:3,4:5)) x <- as.irt.pars(pars, cat=cat, poly.mod=pm) summary(x) # Create object for three dichotomous (3PL) items, four polytomous items, # two gpcm items and two nrm items. Include a location parameter for the # gpcm items (use signature list, missing) a <- matrix(c( 1.2, rep(NA,4), .8, rep(NA,4), .9, rep(NA,4), .64, rep(NA,4), .88, rep(NA,4), .905, .522, -.469, -.959, NA, .828, .375, -.357, -.079, -.817),7,5,byrow=TRUE) b <- matrix(c( 2.3, rep(NA,4), -1.1, rep(NA,4), -.2, rep(NA,4), -.69, -1.11, -.04, 1.14, NA, 1.49, -1.43, -.09, .41, 1.11, .126, -.206, -.257, .336, NA, .565, .865, -1.186, -1.199, .993),7,5,byrow=TRUE) c <- c(.14, .19, .26, rep(NA,4)) pars <- list(a,b,c) cat <- c(2,2,2,4,5,4,5) pm <- as.poly.mod(7, c("drm","gpcm","nrm"), list(1:3,4:5,6:7)) x <- as.irt.pars(pars, cat=cat, poly.mod=pm, location=TRUE) summary(x, TRUE) # Create object with two groups (all dichotomous items) pm <- as.poly.mod(36) x <- as.irt.pars(KB04$pars, KB04$common, cat=list(rep(2,36),rep(2,36)), list(pm,pm), grp.names=c("form.x","form.y")) summary(x, TRUE) # Create object with six groups (all dichotomous items) pars <- TK07$pars common <- TK07$common cat <- list(rep(2,26),rep(2,34),rep(2,37),rep(2,40),rep(2,41),rep(2,43)) pm1 <- as.poly.mod(26) pm2 <- as.poly.mod(34) pm3 <- as.poly.mod(37) pm4 <- as.poly.mod(40) pm5 <- as.poly.mod(41) pm6 <- as.poly.mod(43) pm <- list(pm1, pm2, pm3, pm4, pm5, pm6) x <- as.irt.pars(pars, common, cat, pm, grp.names=paste("grade",3:8,sep="")) # Create an object with two groups using mixed-format items and # a mixed placement of common items. This example uses the dgn dataset. pm1=as.poly.mod(55,c("drm","gpcm","nrm"),dgn$items$group1) pm2=as.poly.mod(55,c("drm","gpcm","nrm"),dgn$items$group2) x=as.irt.pars(dgn$pars,dgn$common,dgn$cat,list(pm1,pm2)) summary(x, TRUE)