Пример рабочего процесса пакета kcirt - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь создать сценарий R для пакета kcirt, который

  • принимает ответы из анкеты ipsative,
  • создает модель IRT
  • получает оценкуновый ответ на основе созданной модели

До сих пор я не смог выяснить

  • , как построить модель из ответов, не смоделированных с использованием пакета
  • Как набрать новый ответ, используя модель

Вот псевдоскрипт, который я создал:

library(kcirt)
options(stringsAsFactors=FALSE, width=140)
set.seed(99999)

# 4 scales, 4 items in a group, all positive loadings, 24 item groups, 200 cases
gT<-c(1,NA,NA,4) #group template
iN=4 #num items in group
gN=24 #num itemgroup in test - 96 items
cN=200 #num cases

# An example group of items
# I am the sort of person who
#  - sees the big picture
#  - shows enthusiasm
#  - supports others
#  - enjoys independence

#generate random test data as I would have it in the database
mxData <-matrix(
  replicate(gN*cN,
            sample(gT,iN) #an item group
  ) # all cases
, byrow = F, ncol = cN, nrow = iN*gN)

covEta <- diag(1, 4) # four scales
constructMap.ls <- replicate(gN, c(1,2,3,4), simplify=FALSE) #items always load to the same scales within a group
mxLambda <- rep(1,iN*gN) #item directions
qTypes <- rep("M",gN) #response format
mu <- rep(0, length(mxLambda)) #utilities

#how to do this? create model from case data  ***********************************************
mod <- kcirt.model(data=mxData, constructMap.ls=constructMap.ls, qTypes=qTypes, mxLambda=mxLambda,  mu=mu, covEta=covEta)
mod <- kcirt.fitMSS(model=mod, lambdaConstraint="self", kcpus=2, penalty="L2", usetruesigma=TRUE, mss.sd=1)

#how to do this? get the 4 scale scores for a new case ***********************************************
cD=matrix(replicate(gN, sample(gT,iN)), nrow = iN*gN) #new random case data
kcirt.score(mod,cD) ???
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...