Nothing
#
# Copyright 2007-2018 by the individuals mentioned in the source code history
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -----------------------------------------------------------------------
# Program: MultivariateRegression_MatrixRaw.R
# Author: Ryne Estabrook
# Date: 08 01 2009
#
# Multivariate Regression model to estimate effect of independent on dependent variables
# Matrix style model input - Raw data input
#
# Revision History
# Hermine Maes -- 10 08 2009 updated & reformatted
# -----------------------------------------------------------------------
require(OpenMx)
#Prepare Data
# -----------------------------------------------------------------------
data(myRegDataRaw)
# add a column of data that is unused
myRegDataRaw[,5] <- myRegDataRaw[,1]
#Create an MxModel object
# -----------------------------------------------------------------------
multivariateRegModel <- mxModel("Multiple Regression Matrix Specification",
mxData(
observed=myRegDataRaw,
type="raw"
),
mxMatrix(
type="Full",
nrow=4,
ncol=4,
values=c(0,1,0,1,
0,0,0,0,
0,1,0,1,
0,0,0,0),
free=c(F, T, F, T,
F, F, F, F,
F, T, F, T,
F, F, F, F),
labels=c(NA, "betawx", NA, "betawz",
NA, NA, NA, NA,
NA, "betayx", NA, "betayz",
NA, NA, NA, NA),
byrow=TRUE,
name="A"
),
mxMatrix(
type="Symm",
nrow=4,
ncol=4,
values=c(1, 0, 0, 0,
0, 1, 0, .5,
0, 0, 1, 0,
0, .5, 0, 1),
free=c(T, F, F, F,
F, T, F, T,
F, F, T, F,
F, T, F, T),
labels=c("residualw", NA, NA, NA,
NA, "varx", NA, "covxz",
NA, NA, "residualy", NA,
NA, "covxz", NA, "varz"),
byrow=TRUE,
name="S"
),
mxMatrix(
type="Iden",
nrow=4,
ncol=4,
name="F"
),
mxMatrix(
type="Full",
nrow=1,
ncol=4,
values=c(0,0,0,0),
free=c(T,T,T,T),
labels=c("betaw","meanx","betay","meanz"),
name="M"
),
mxFitFunctionML(),mxExpectationRAM("A","S","F","M", dimnames=c("w", "x", "y", "z"))
)
multivariateRegFit<-mxRun(multivariateRegModel)
multivariateSummary <- summary(multivariateRegFit)
omxCheckEquals(multivariateSummary$observedStatistics, sum(!is.na(myRegDataRaw[,1:4])))
#Compare OpenMx results to Mx results
# -----------------------------------------------------------------------
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betay"]], 1.6332, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betayx"]], 0.4246, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betayz"]], 0.2260, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["residualy"]], 0.6267, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betaw"]], 0.5139, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betawx"]], -0.2310, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["betawz"]], 0.5122, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["residualw"]], 0.5914, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["varx"]], 1.1053, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["varz"]], 0.8275, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["covxz"]], 0.2862, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["meanx"]], 0.0542, 0.001)
omxCheckCloseEnough(multivariateRegFit$output$estimate[["meanz"]], 4.0611, 0.001)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.