copied scripts from passing
[openmx:openmx.git] / demo / UnivariateSaturated_MatrixRaw.R
1 require(OpenMx)
2
3 #Simulate Data
4 set.seed(100)
5 x <- rnorm (1000, 0, 1)
6 testData <- as.matrix(x)
7 selVars <- c("X")
8 dimnames(testData) <- list(NULL, selVars)
9 summary(testData)
10 mean(testData)
11 var(testData)
12
13 #examples 4: Saturated Model with Raw Data and Matrix-Style Input
14 univSatModel4 <- mxModel("univSat4",
15     mxMatrix(
16         type="Symm", 
17         nrow=1, 
18         ncol=1, 
19         free=T, 
20         values=1, 
21         dimnames=list(selVars,selVars), 
22         name="expCov"
23     ),
24     mxMatrix(
25         type="Full", 
26         nrow=1, 
27         ncol=1, 
28         free=T, 
29         values=0, 
30         dimnames=list(NULL,selVars), 
31         name="expMean"
32     ),
33     mxData(
34         observed=testData, 
35         type="raw", 
36     ),
37     mxFIMLObjective(
38         covariance="expCov", 
39         means="expMean"
40     )
41     )
42 univSatFit4 <- mxRun(univSatModel4)
43 EM4 <- mxEvaluate(expMean, univSatFit4)
44 EC4 <- mxEvaluate(expCov, univSatFit4)
45 LL4 <- mxEvaluate(objective, univSatFit4);
46
47
48 #Mx answers hard-coded
49 #example Mx..1: Saturated Model with Raw Data
50 Mx.EM2 <- 0.01680516
51 Mx.EC2 <- 1.061050
52 Mx.LL2 <- 2897.135
53
54
55 #Compare OpenMx results to Mx results (LL: likelihood; EC: expected covariance, EM: expected means)
56 #4:RawMat
57 omxCheckCloseEnough(LL4,Mx.LL2,.001)
58 omxCheckCloseEnough(EC4,Mx.EC2,.001)
59 omxCheckCloseEnough(EM4,Mx.EM2,.001)
60