Learn R Programming

OpenMx (version 2.3.1)

mxData: Create MxData Object

Description

This function creates a new MxData object.

Usage

mxData(observed, type, means = NA, numObs = NA, acov=NA, fullWeight=NA,
          thresholds=NA, ..., sort=TRUE)

Arguments

observed
A matrix or data.frame which provides data to the MxData object.
type
A character string defining the type of data in the observed argument. Must be one of raw, cov, or cor.
means
An optional vector of means for use when type is cov, or cor.
numObs
The number of observations in the data supplied in the observed argument. Required unless type equals raw.
acov
Asymptotic covariance matrix of observed, means, and thresholds. Used for weighted least squares at weight matrix.
fullWeight
Full asymptotic covariance matrix of observed, means, and thresholds. Used for weighted least squares in standard error and quasi-chi-squared calculation.
thresholds
Observed thresholds. Used for weighted least squares with ordinal data.
...
Not used. Forces remaining arguments to be specified by name.
sort
Whether to sort raw data prior to use (default TRUE)

Value

Details

The mxData function creates MxData objects, which can be used as arguments in MxModel objects. The observed argument may take either a data frame or a matrix, which is then described with the type argument. Data types describe compatibility and usage with expectation functions in MxModel objects. Four different data types are supported (a fifth, sscp, is not yet implemented):

[object Object],[object Object],[object Object],[object Object]

MxData objects may not be included in MxAlgebra objects or use the mxFitFunctionAlgebra function. If these capabilities are desired, data should be appropriately input or transformed using the mxMatrix and mxAlgebra functions.

While column names are stored in the observed slot of MxData objects, these names are not recognized as variable names in MxPath objects. Variable names must be specified using the manifestVars argument of the mxModel function prior to use in MxPath objects.

The mxData function does not currently place restrictions on the size, shape, or symmetry of matrices input into the observed argument. While it is possible to specify MxData objects as covariance or correlation matrices that do not have the properties commonly associated with these matrices, failure to correctly specify these matrices will likely lead to problems in model estimation.

OpenMx uses the names of variables to map them onto the expectation functions and other elements associated with your model. For data.frames, ensure you have set the names(). For matrices set names using, for instance, row.names=c(your, columns). Covariance and correlation matrices need to have both the row and column names set and these must be identical, for instance by using dimnames=list(varNames, varNames).

References

The OpenMx User's guide can be found at http://openmx.psyc.virginia.edu/documentation.

See Also

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.

Examples

Run this code
library(OpenMx)

#Create a covariance matrix
covMatrix <- matrix( c(0.77642931, 0.39590663, 
    0.39590663, 0.49115615), 
    nrow = 2, ncol = 2, byrow = TRUE)
covNames <- c("x", "y")
dimList <- list(covNames, covNames)
dimnames(covMatrix) <- dimList

#Create an MxData object including that covariance matrix
testData <- mxData(observed=covMatrix, type="cov", numObs = 100)

testModel <- mxModel(model="testModel",
                mxMatrix(type="Symm", nrow=2, ncol=2, values=c(.2,.1,.2), 
                         free=TRUE, name="expCov", dimnames=dimList),
                mxExpectationNormal(covariance="expCov", dimnames=covNames),
                mxFitFunctionML(),
                testData) 

outModel <- mxRun(testModel)

summary(outModel)

Run the code above in your browser using DataLab