Hi Regina,
I think setting up the first 1-4 categories with scoring coefficients that mimic the GPCM would make sense (0, 1,2,3, respectively), while leaving the last category as something that is estimable would be the most reasonable. Something like this:
################
> library(mirt)
>
> head(Science)
Comfort Work Future Benefit
1 4 4 3 2
2 3 3 3 3
3 3 2 2 3
4 3 2 2 3
5 3 4 4 1
6 4 4 3 3
>
> # Item 1 is structured item in question
> baseline_mod <- mirt(Science, itemtype = c('nominal', rep('graded', 3)))
Iteration: 59, Log-Lik: -1607.205, Max-Change: 0.00009
> coef(baseline_mod)[[1]]
a1 ak0 ak1 ak2 ak3 d0 d1 d2 d3
par 1.071035 0 1.60566 2.0477 3 0 3.912586 6.183833 4.806511
>
> # assume category 1-3 in item 1 are ordered, while the last could be unordered
> mod <- mirt(Science, itemtype = c('nominal', rep('graded', 3)),
+ model = "Theta = 1-4
+ FIXED = (1, ak0), (1, ak1), (1, ak2),
+ START = (1, ak0, 0), (1, ak1, 1), (1, ak2, 2)
+ FREE = (1,ak3)")
Iteration: 58, Log-Lik: -1608.227, Max-Change: 0.00010
> coef(mod)[[1]]
a1 ak0 ak1 ak2 ak3 d0 d1 d2 d3
par 0.7146897 0 1 2 3.422804 0 2.583246 4.99544 3.610593
>
> # models effectively the same (more constrained preferred)
> anova(mod, baseline_mod)
AIC SABIC HQ BIC logLik X2 df p
mod 3250.453 3264.024 3277.210 3317.965 -1608.227
baseline_mod 3250.411 3264.780 3278.741 3321.894 -1607.205 2.042 1 0.153
############
Regarding the fit statistics, the df have more to do with the number of items and parameters, where too few items can cause problems as the number of moments is too low. Also note that the na.rm argument is no longer required as the fit statistics now use MAR assumptions (and therefore no row-wise deletion is required). HTH.