In the CatR package ability estimation function uses following inputs to calculate the ability
thetaEst(it, x, model = NULL, D = 1, method = "BM", priorDist = "norm",
priorPar = c(0, 1), range = c(-4, 4), parInt = c(-4, 4, 33))
inputs' description:
it - item parameter matrix
x - response vector
model - IRT model
D- model constant
methos- ability estimation method
priorDist - prior distribution of ability theta
priorPar - prior parameter of the ability distribution
range- the range in which you want the ability values as outpus.
parInt - parameters of integration for "EAP" method.
While experimenting I realized that you don't need all the slots for calculating the ability using "fscores" function.
for e.g.
mod <- mirt(Science,1)
Iteration: 48, Log-Lik: -1608.870, Max-Change: 0.00009
> fscores(mod, response.pattern = c(1,1,1,2))
Comfort Work Future Benefit F1 SE_F1
[1,] 1 1 1 2 -2.402056 0.5986545
I set almost all the instances of mod@Data slot to NULL except @Data$mins, I got the same results.
mod@Data$data <-NULL
mod@Data$grsm.block <-NULL
mod@Data$rsm.block<- NULL
mod@Data$group <-NULL
mod@Data$groupNames <-NULL
mod@Data$ngroups <-NULL
mod@Data$N <-NULL
#mod@Data$mins <-NULL
mod@Data$nitems <-NULL
mod@Data$tabdata<-NULL
mod@Data$model <-NULL
mod@Data$tabdatalong <-NULL
mod@Data$fulldata <-NULL
mod@Data$Freq<-NULL
mod@Data$K <-NULL
fscores(mod, response.pattern = c(1,1,1,2))
F1 SE_F1
[1,] 1 1 1 2 -2.402056 0.5986545
As one can see I got the same results.
This and the newly introduced "generate.mirt_object" function in mirtCAT package which only accepts only item parameter matrix and item type, and generates the whole mirt object made me think, is there any possibility to use instead of using in mirt_object as the inputs to "fscores" function same as the "thetaEst" function's inputs(item parameter matrix)?
Also In the formula of the ability estimation method only the item parameters are required.
Or can we delete the slots from mirt_object before passing to the "fscores" function? If yes, how?
My thinking is right? Or am I missing something?
Thanking you,
Irshad