old files deleted, new files added
[openmx:openmx.git] / demo / SimpleRegression_MatrixRaw.R
1 # -----------------------------------------------------------------------\r
2 # Program: SimpleRegression_MatrixRaw.R  \r
3 #  Author: Ryne Estabrook\r
4 #    Date: 08 01 2009 \r
5 #\r
6 # Simple Regression model to estimate effect of independent on dependent variables\r
7 # Matrix style model input - Raw data input\r
8 #\r
9 # Revision History\r
10 #   Hermine Maes -- 10 08 2009 updated & reformatted\r
11 # -----------------------------------------------------------------------\r
12 \r
13 require(OpenMx)\r
14 \r
15 #Prepare Data\r
16 # -----------------------------------------------------------------------\r
17 data(myRegDataRaw)\r
18 \r
19 SimpleDataRaw <- myRegDataRaw[,c("x","y")]\r
20 \r
21 #Create an MxModel object\r
22 # -----------------------------------------------------------------------\r
23 uniRegModel <- mxModel("Simple Regression -- Matrix Specification", \r
24     mxData(\r
25         observed=SimpleDataRaw,\r
26         type="raw"\r
27     ),\r
28     mxMatrix(\r
29         type="Full", \r
30         nrow=2, \r
31         ncol=2,\r
32         free=c(F, F,\r
33                T, F),\r
34         values=c(0, 0,\r
35                  1, 0),\r
36         labels=c(NA,     NA,\r
37                 "beta1", NA),\r
38         byrow=TRUE,\r
39         name="A"\r
40     ),\r
41     mxMatrix(\r
42         type="Symm", \r
43         nrow=2, \r
44         ncol=2, \r
45         values=c(1, 0,\r
46                  0, 1),\r
47         free=c(T, F,\r
48                F, T),\r
49         labels=c("varx", NA,\r
50                   NA,    "residual"),\r
51         byrow=TRUE,\r
52         name="S"\r
53     ),\r
54     mxMatrix(\r
55         type="Iden",  \r
56         nrow=2, \r
57         ncol=2,\r
58         name="F"\r
59     ),\r
60     mxMatrix(\r
61         type="Full", \r
62         nrow=1, \r
63         ncol=2,\r
64         free=c(T, T),\r
65         values=c(0, 0),\r
66         labels=c("meanx", "beta0"),\r
67         name="M"),\r
68     mxRAMObjective("A", "S", "F", "M")\r
69 )\r
70       \r
71 uniRegFit<-mxRun(uniRegModel)\r
72 \r
73 summary(uniRegFit)\r
74 uniRegFit@output\r
75 \r
76 #Compare OpenMx results to Mx results \r
77 # -----------------------------------------------------------------------\r
78 omxCheckCloseEnough(uniRegFit@output$estimate[["beta0"]], 2.5478, 0.001)\r
79 omxCheckCloseEnough(uniRegFit@output$estimate[["beta1"]], 0.4831, 0.001)\r
80 omxCheckCloseEnough(uniRegFit@output$estimate[["residual"]], 0.6652, 0.001)\r
81 omxCheckCloseEnough(uniRegFit@output$estimate[["meanx"]], 0.0542, 0.001)\r
82 omxCheckCloseEnough(uniRegFit@output$estimate[["varx"]], 1.1053, 0.001)\r