Learn R Programming

CDM (version 7.4-19)

IRT.marginal_posterior: S3 Method for Computation of Marginal Posterior Distribution

Description

Computes marginal posterior distributions for fitted models in the CDM package.

Usage

IRT.marginal_posterior(object, dim, remove_zeroprobs=TRUE, ...)

# S3 method for din IRT.marginal_posterior(object, dim, remove_zeroprobs=TRUE, ...) # S3 method for gdina IRT.marginal_posterior(object, dim, remove_zeroprobs=TRUE, ...) # S3 method for mcdina IRT.marginal_posterior(object, dim, remove_zeroprobs=TRUE, ...)

Arguments

object

Object of class din, gdina, mcdina

dim

Numeric or character vector indicating dimensions of posterior distribution which should be marginalized

remove_zeroprobs

Logical indicating whether classes with zero probabilities should be removed

Further arguments to be passed

Value

List with entries

marg_post

Marginal posterior distribution

map

MAP estimate (individual classification)

theta

Skill classes

See Also

IRT.posterior

Examples

Run this code
# NOT RUN {
#############################################################################
# EXAMPLE 1: Dataset with three hierarchical skills
#############################################################################

# simulated data with hierarchical skills:
# skill A with 4 levels, skill B with 2 levels and skill C with 3 levels

data(data.cdm10, package="CDM"")
dat <- data.cdm10$data
Q <- data.cdm10$q.matrix
print(Q)

# define hierarchical skill structure
B <- "A1 > A2 > A3
      C1 > C2"
skill_space <- CDM::skillspace.hierarchy(B=B, skill.names=colnames(Q))
zeroprob.skillclasses <- skill_space$zeroprob.skillclasses

# estimate DINA model
mod1 <- CDM::gdina( dat, q.matrix=Q, zeroprob.skillclasses=zeroprob.skillclasses, rule="DINA")
summary(mod1)

# classification for skill A
res <- CDM::IRT.marginal_posterior(object=mod1, dim=c("A1","A2","A3") )
table(res$map)

# classification for skill B
res <- CDM::IRT.marginal_posterior(object=mod1, dim=c("B") )
table(res$map)

# classification for skill C
res <- CDM::IRT.marginal_posterior(object=mod1, dim=c("C1","C2") )
table(res$map)
# }

Run the code above in your browser using DataLab