File: PPML_test2L4M.R

package info (click to toggle)
r-cran-openmx 2.21.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 14,412 kB
  • sloc: cpp: 36,577; ansic: 13,811; fortran: 2,001; sh: 1,440; python: 350; perl: 21; makefile: 5
file content (58 lines) | stat: -rw-r--r-- 1,827 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
require(OpenMx)
require(MASS)

# Seed
set.seed(4)

# Data covariance matrix
dataCov <- rbind(c(4,3,2,1), 
				 c(3,4,3,2),
				 c(2,3,4,3),
				 c(1,2,3,4))
dataMean <- c(2,-2,1,-1)

# Variable names
manifests <- c('X','Y','Z','W')
latents <- c('G', 'H')

# Dimnames
colnames(dataCov) <- manifests
rownames(dataCov) <- manifests
names(dataMean) <- manifests

factorModel <- mxModel("Factor Model 2L4M",
      type="RAM",
      manifestVars = manifests,
      latentVars = latents,
	  
	  # Regression Loadings
      mxPath(from='G', to=manifests,value=c(1,2,3,4),free=FALSE),
	  mxPath(from='H', to=manifests,value=c(1,1,1,1),free=FALSE),
	  
	  # Variances
      mxPath(from=manifests, arrows=2,value=c(1,1,1,1), labels=c('E1','E1','E1','E1')), # error variance
      mxPath(from=latents, arrows=2,values=1.0, labels=c("VG", "VH")), # variances of the latents
	 
	  # Latent means vector
      mxPath(from="one", to=latents, arrows=1, values=0, labels=c("MG", "MH"), free=TRUE),

	  mxData(dataCov, mean=dataMean, type="cov",numObs=5)
	  )

# Latent Covariance	Path
satPath <- mxPath(from='G', to='H',labels="Cov", arrows=2,values=0.1)	# Saturated (covariance between the latents)

for (fixALatent in 0:1)
{
	testModel <- factorModel
	if (as.logical(fixALatent))
		testModel <- mxModel(testModel, mxPath(from="one", to=latents, arrows=1, values=0, labels=c("MG", "MH"), free=c(TRUE, FALSE)) )

	# Test unsaturated latent covariance matrix
	imxPPML.Test.Battery(testModel, verbose=TRUE, testPermutations=FALSE, tolerances=c(NA, .0001, .0001) ) # NA -> Don't check covariance data w/ means

	# Test saturated latent covariance matrix
	testModel <- mxModel(testModel, satPath)
	imxPPML.Test.Battery(testModel, verbose=TRUE, testPermutations=FALSE, tolerances=c(NA, .0001, .0001) ) # NA -> Don't check covariance data w/ means

}