mxDataWLS {OpenMx}R Documentation

Create legacy MxData Object for Least Squares (WLS, DWLS, ULS) Analyses


This function creates a new MxData object of type “ULS” (unweighted least squares), “WLS” (weighted least squares) or “DWLS” (diagonally-weighted least squares). The appropriate fit function to include with these models is mxFitFunctionWLS

note: This function continues to work, but is deprecated. Use mxData and mxFitFunctionWLS instead.


   mxDataWLS(data, type = "WLS", useMinusTwo = TRUE, returnInverted = TRUE, 
    fullWeight = TRUE, suppressWarnings = TRUE, allContinuousMethod =
   c("cumulants", "marginals"), silent=!interactive())



A matrix or data.frame which provides raw data to be used for WLS.


A character string 'WLS' (default), 'DWLS', or 'ULS' for weighted, diagonally weighted, or unweighted least squares, respectively


Logical indicating whether to use -2LL (default) or -LL.


Logical indicating whether to return the information matrix (default) or the covariance matrix.


Logical determining if the full weight matrix is returned (default). Needed for standard error and quasi-chi-squared calculation.


Logical that determines whether to suppress diagnostic warnings. These warnings are likely only helpful to developers.


A character string 'cumulants' (default) or 'marginals'. See mxFitFunctionWLS.


Whether to report progress


The mxDataWLS function creates an MxData object, which can be used in MxModel objects. This function takes raw data and returns an MxData object to be used in a model to fit with weighted least squares.

note: This function continues to work, but is deprecated. Use mxData and mxFitFunctionWLS instead.


Returns a new MxData object.


The OpenMx User's guide can be found at

Browne, M. W. (1984). Asymptotically Distribution-Free Methods for the Analysis of Covariance Structures. British Journal of Mathematical and Statistical Psychology, 37, 62-83.

See Also

mxFitFunctionWLS. MxData for the S4 class created by mxData. matrix and data.frame for objects which may be entered as arguments in the ‘observed’ slot. More information about the OpenMx package may be found here.


# Create and fit a model using mxMatrix, mxAlgebra, mxExpectationNormal, and mxFitFunctionWLS


# Simulate some data

x=rnorm(1000, mean=0, sd=1)
y= 0.5*x + rnorm(1000, mean=0, sd=1)
tmpFrame <- data.frame(x, y)
tmpNames <- names(tmpFrame)
wdata <- mxDataWLS(tmpFrame)

# Define the matrices

S <- mxMatrix(type = "Full", nrow = 2, ncol = 2, values=c(1,0,0,1), 
              free=c(TRUE,FALSE,FALSE,TRUE), labels=c("Vx", NA, NA, "Vy"), name = "S")
A <- mxMatrix(type = "Full", nrow = 2, ncol = 2, values=c(0,1,0,0), 
              free=c(FALSE,TRUE,FALSE,FALSE), labels=c(NA, "b", NA, NA), name = "A")
I <- mxMatrix(type="Iden", nrow=2, ncol=2, name="I")

# Define the expectation

expCov <- mxAlgebra(solve(I-A) %*% S %*% t(solve(I-A)), name="expCov")
expFunction <- mxExpectationNormal(covariance="expCov", dimnames=tmpNames)

# Choose a fit function

fitFunction <- mxFitFunctionWLS()

# Define the model

tmpModel <- mxModel(model="exampleModel", S, A, I, expCov, expFunction, fitFunction, 

# Fit the model and print a summary

tmpModelOut <- mxRun(tmpModel)

[Package OpenMx version 2.21.11 Index]