I have ordinal data from 2 questionnaires. One questionnaire has a scale of 1:7 and the other of 1:5. I would like to convert these data to interval using polytomous item response theory. I can calculate the thresholds and draw the plots, but don't understand how to use this data to convert my raw ordinal data into interval data.

df = data.frame("Q1" = sample(1:7, 100, replace = T), "Q2" = 
sample(1:5, 100, replace = T))

model = mirt(data = df, model = 1, itemtype = "gpcm")
coef(model, IRTpars = T)
plot(model, type = "trace")

What you are looking for is factor scores, which are estimates of the latent variable on the interval scale computed from the model parameters and the input data. In mirt, the function is fscores(), which takes in an object that is the output to mirt() and produces a vector of values. These values are the scale scores that collapse your data into an interval value.

| cite | improve this answer | |
  • $\begingroup$ The OP stated his manifest variables are ordinal in which case graded partial credit seems appropriate. He wants to estimate the underlying latent variables which would be interval in Stevens' typology. $\endgroup$ – mdewey Jul 19 '18 at 16:24
  • $\begingroup$ I see. I misunderstood. By "convert these data to interval" I assumed he meant his raw data, not create an interval variable as factor scores from a model. $\endgroup$ – Noah Jul 19 '18 at 18:50
  • $\begingroup$ Thank you for your responses. Say each questionnaire had 10 questions, is there a way to calculate the factor scores for each question as opposed to the total score? $\endgroup$ – Henry Wallace Jul 20 '18 at 1:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.