write.flexmirt function

Write a flexMIRT PRM file

Write a flexMIRT PRM file

lifecycle::badge("experimental")

This was last updated in 2017 and may no longer work.

write.flexmirt(groups, file = NULL, fileEncoding = "")

Arguments

  • groups: a list of groups each with items and latent parameters
  • file: the destination file name
  • fileEncoding: how to encode the text file (optional)

Details

Formats item parameters in the way that flexMIRT expects to read them.

NOTE: Support for the graded response model may not be complete.

Format of a group

A model, or group within a model, is represented as a named list.

  • spec: list of response model objects
  • param: numeric matrix of item parameters
  • free: logical matrix of indicating which parameters are free (TRUE) or fixed (FALSE)
  • mean: numeric vector giving the mean of the latent distribution
  • cov: numeric matrix giving the covariance of the latent distribution
  • data: data.frame containing observed item responses, and optionally, weights and frequencies
  • score: factors scores with response patterns in rows
  • weightColumn: name of the data column containing the numeric row weights (optional)
  • freqColumn: name of the data column containing the integral row frequencies (optional)
  • qwidth: width of the quadrature expressed in Z units
  • qpoints: number of quadrature points
  • minItemsPerScore: minimum number of non-missing items when estimating factor scores

The param matrix stores items parameters by column. If a column has more rows than are required to fully specify a model then the extra rows are ignored. The order of the items in spec and order of columns in param are assumed to match. All items should have the same number of latent dimensions. Loadings on latent dimensions are given in the first few rows and can be named by setting rownames. Item names are assigned by param colnames.

Currently only a multivariate normal distribution is available, parameterized by the mean and cov. If mean and cov are not specified then a standard normal distribution is assumed. The quadrature consists of equally spaced points. For example, qwidth=2 and qpoints=5 would produce points -2, -1, 0, 1, and 2. The quadrature specification is part of the group and not passed as extra arguments for the sake of consistency. As currently implemented, OpenMx uses EAP scores to estimate latent distribution parameters. By default, the exact same EAP scores should be produced by EAPscores .