Fix more documentation
[openmx:openmx.git] / man / MxModel-class.Rd
1 %
2 %   Copyright 2007-2013 The OpenMx Project
3 %
4 %   Licensed under the Apache License, Version 2.0 (the "License");
5 %   you may not use this file except in compliance with the License.
6 %   You may obtain a copy of the License at
7
8 %        http://www.apache.org/licenses/LICENSE-2.0
9
10 %   Unless required by applicable law or agreed to in writing, software
11 %   distributed under the License is distributed on an "AS IS" BASIS,
12 %   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 %   See the License for the specific language governing permissions and
14 %   limitations under the License.
15
16 \name{MxModel-class}
17 \alias{MxModel}
18 \alias{$,MxModel-method}
19 \alias{$<-,MxModel-method}
20 \alias{[[,MxModel-method}
21 \alias{[[<-,MxModel-method}
22 \alias{names,MxModel-method}
23 \alias{print,MxModel-method}
24 \alias{show,MxModel-method}
25
26 \title{MxModel Class}
27
28 \description{
29    MxModel is an S4 class. An MxModel object is a \link[=Named-entity]{named entity}.
30    New instances of this class can be created using the function \link{mxModel}.
31 }
32
33 \details{
34   The MxModel class has the following slots:
35
36   \tabular{rcl}{
37     \tab \tab \cr
38     name \tab - \tab The name of the object \cr
39     matrices \tab - \tab A list of \link{MxMatrix} objects \cr
40     algebras \tab - \tab A list of \link{MxAlgebra} objects \cr
41     submodels \tab - \tab A list of MxModel objects \cr
42     constraints \tab - \tab A list of MxConstraint objects \cr
43     intervals \tab - \tab A list of confidence intervals requested in MxCI objects \cr
44     bounds \tab - \tab A list of MxBounds objects \cr
45     latentVars \tab - \tab A list of latent variables \cr
46     manifestVars \tab - \tab A list of manifest variables \cr
47     data \tab - \tab A \link{MxData} object \cr
48     objective \tab - \tab Either NULL or a MxObjective object \cr
49     independent \tab - \tab TRUE if-and-only-if the model is independent \cr
50     options \tab - \tab A list of optimizer options \cr
51     output \tab - \tab A list with optimization results
52   }
53   
54 The \sQuote{name} slot is the name of the MxModel object.
55
56 The \sQuote{matrices} slot contains a list of the \link{MxMatrix} objects included in the model. These objects are listed by name. Two objects may not share the same name. If a new \link{MxMatrix} is added to an MxModel object with the same name as an \link{MxMatrix} object in that model, the added version replaces the previous version. There is no imposed limit on the number of \link{MxMatrix} objects that may be added here.
57
58 The \sQuote{algebras} slot contains a list of the \link{MxAlgebra} objects included in the model. These objects are listed by name. Two objects may not share the same name. If a new \link{MxAlgebra} is added to an MxModel object with the same name as an \link{MxAlgebra} object in that model, the added version replaces the previous version. All \link{MxMatrix} objects referenced in the included \link{MxAlgebra} objects must be included in the \sQuote{matrices} slot prior to estimation. There is no imposed limit on the number of \link{MxAlgebra} objects that may be added here.
59
60 The \sQuote{submodels} slot contains references to all of the MxModel objects included as submodels of this MxModel object. Models held as arguments in other models are considered to be submodels. These objects are listed by name. Two objects may not share the same name. If a new submodel is added to an MxModel object with the same name as an existing submodel, the added version replaces the previous version. When a model containing other models is executed using \link{mxRun}, all included submodels are executed as well. If the submodels are dependent on one another, they are treated as one larger model for purposes of estimation.
61
62 The \sQuote{constraints} slot contains a list of the \link{MxConstraint} objects included in the model. These objects are listed by name. Two objects may not share the same name. If a new \link{MxConstraint} is added to an MxModel object with the same name as an \link{MxConstraint} object in that model, the added version replaces the previous version. All \link{MxMatrix} objects referenced in the included \link{MxConstraint} objects must be included in the \sQuote{matrices} slot prior to estimation. There is no imposed limit on the number of \link{MxAlgebra} objects that may be added here.
63
64 The \sQuote{intervals} slot contains a list of the confidence intervals requested by included \link{MxCI} objects. These objects are listed by the free parameters, \link[=MxMatrix]{MxMatrices} and \link[=MxAlgebra]{MxAlgebras} referenced in the \link{MxCI} objects, not the list of \link{MxCI} objects themselves. If a new \link{MxCI} object is added to an MxModel object referencing one or more free parameters \link[=MxMatrix]{MxMatrices} or \link[=MxAlgebra]{MxAlgebras} previously listed in the \sQuote{intervals} slot, the new confidence interval(s) replace the existing ones. All listed confidence intervals must refer to free parameters \link[=MxMatrix]{MxMatrices} or \link[=MxAlgebra]{MxAlgebras} in the model.
65
66 The \sQuote{bounds} slot contains a list of the \link{MxBounds} objects included in the model. These objects are listed by name. Two objects may not share the same name. If a new \link{MxBounds} is added to an MxModel object with the same name as an \link{MxBounds} object in that model, the added version replaces the previous version. All \link{MxMatrix} objects referenced in the included \link{MxBounds} objects must be included in the \sQuote{matrices} slot prior to estimation. There is no imposed limit on the number of \link{MxAlgebra} objects that may be added here.
67
68 The \sQuote{latentVars} slot contains a list of latent variable names, which may be referenced by \link[=MxPath-class]{MxPath} objects. This slot defaults to 'NA', and is only used when the \link{mxPath} function is used.
69
70 The \sQuote{manifestVars} slot contains a list of latent variable names, which may be referenced by \link[=MxPath-class]{MxPath} objects. This slot defaults to 'NA', and is only used when the \link{mxPath} function is used.
71
72 The \sQuote{data} slot contains an \link{MxData} object. This slot must be filled prior to execution when an objective function referencing data is used. Only one \link{MxData} object may be included per model, but submodels may have their own data in their own \sQuote{data} slots. If an \link{MxData} object is added to an MxModel which already contains an \link{MxData} object, the new object replaces the existing one.
73
74 The \sQuote{objective} slot contains an objective function. This slot must be filled prior to using the \link{mxRun} function for model execution and optimization. \link{MxAlgebra}, \link{MxData}, and \link{MxMatrix} objects required by the included objective function must be included in the appropriate slot of the MxModel prior to using \link{mxRun}.
75
76 The \sQuote{independent} slot contains a logical value indicating whether or not the model is independent. If a model is independent (independent=TRUE), then the parameters of this model are not shared with any other model. An independent model may be estimated with no dependency on any other model. If a model is not independent (independent=FALSE), then this model shares parameters with one or more other models such that these models must be jointly estimated. These dependent models must be entered as submodels of another MxModel objects, so that they are simultaneously optimized.
77
78 The \sQuote{options} slot contains a list of options for the optimizer. The name of each entry in the list is the option name to be passed to the optimizer. The values in this list are the values of the optimizer options. The standard interface for updating options is through the \link{mxOption} function.
79
80 The \sQuote{output} slot contains a list of output added to the model by the \link{mxRun} function. Output includes parameter estimates, optimization information, model fit, and other information as dictated by the objective function. If a model has not been optimized using the \link{mxRun} function, the 'output' slot will be 'NULL'.
81
82 \link[=Named-entity]{Named entities} in \link{MxModel} objects may be viewed and referenced by name using double brackets (model[["matrixname"]]). Slots may be referenced with the @ symbol (model@data). See the documentation for \link[methods]{Classes} and the examples in \link{mxModel} for more information.
83 }
84
85 \references{
86 The OpenMx User's guide can be found at http://openmx.psyc.virginia.edu/documentation.
87 }
88
89 \seealso{
90 \link{mxModel} for creating MxModel objects. More information about the OpenMx package may be found \link[=OpenMx]{here}. 
91 }