create_parameter_table

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(mxsem)

The core function of mxsem is to create a parameter table, where all loadings, regressions, and (co-)variances are specified. This parameter table is then used to set up an mxModel with the mxPath-function. It can be useful to visually inspect the parameter table created by mxsem. To this end, set the return_parameter_table-argument to TRUE:

library(mxsem)

model <- '
  # latent variable definitions
     ind60 =~ x1 + x2 + x3
     dem60 =~ y1 + a1*y2 + b*y3 + c1*y4
     dem65 =~ y5 + a2*y6 + b*y7 + c2*y8

  # regressions
    dem60 ~ g1*ind60
    dem65 ~ g2*ind60 + g3*dem60

  # residual correlations
    y1 ~~ y5
    y2 ~~ y4 + y6
    y3 ~~ y7
    y4 ~~ y8
    y6 ~~ y8

! delta_a
! g1g3
a2   := a1 + delta_a
g1g3 := g1*g3
'

model_list <- mxsem(model = model,
                    data  = OpenMx::Bollen,
                    return_parameter_table = TRUE)

print(model_list$parameter_table)

The element parameter_table$parameter_table specifies all loadings (op is =~), regressions (op is ~), and (co-)variances (op is ~~). The modifier specifies parameter labels, lbound is the lower bound and ubound is the upper bound for parameters. Finally, free specifies if a parameter is estimated (TRUE) or fixed (FALSE).

If there are algebras, these are listed in the parameter_table$algebras data.frame. Note that the new parameters delta_a and g1g3 used in these algebras are listed in parameter_table$new_parameters, while parameter_table$new_parameters_free specifies for each of these new parameters if they are free or fixed. In this case g1g3 is fixed because it is the product of two other parameters.

The variables specify which of the variables are manifest (observed) and which are latent (unobserved). Each manifest variable must also be found in the data set.



Try the mxsem package in your browser

Any scripts or data that you put into this service are public.

mxsem documentation built on Sept. 11, 2024, 5:32 p.m.