File: 180209--defvars.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 (40 lines) | stat: -rw-r--r-- 1,297 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
library(OpenMx)
if(mxOption(NULL,"Default optimizer")!="SLSQP"){stop("SKIP")}

mxOption(NULL,"Nudge zero starts","No")
mxOption(NULL,"Calculate Hessian","No")
mxOption(NULL,"Standard Errors","No")

mxd <- data.frame(
	y=mxFactor(as.numeric(runif(100)<.5), levels=c(0,1)),
	k5=runif(100),
	k618=runif(100),
	age=round(rnorm(100,30,5)),
	wc=rbinom(100,1,.5),
	hc=rbinom(100,1,.5),
	lwg=rnorm(100))

mxd2 <- mxd
mxd2$y <- as.numeric(mxd2$y)-1

mod2b <- mxModel(
	"constrLPM",
	mxData(observed=mxd2,type="raw"),
	mxMatrix(
		type="Full",nrow=1,ncol=7,free=F,labels=c("data.k5","data.k618","data.age","data.wc","data.hc","data.lwg",NA),name="X"),
	mxMatrix(type="Full",nrow=1,ncol=1,free=T,
					 values=0,
					 labels="a",name="A"),
	mxMatrix(type="Full",nrow=7,ncol=1,free=T,
					 values=0,
					 labels=paste("b",1:7,sep=""),name="B"),
	mxAlgebra(A + X%*%B, name="Yhat"),
	mxMatrix(type="Full",nrow=1,ncol=1,free=T,values=1,labels="sigma",lbound=0.0001,name="Sigma"),
	mxExpectationNormal(covariance="Sigma",means="Yhat",dimnames=c("y")),
	mxFitFunctionML(),
	mxConstraint(-1%x%Yhat < 0, name="c1"),
	mxConstraint(Yhat - 1 < 0, name="c2")
)
mod2b <- omxCheckWarning(
	mxRun(mod2b),
  "Constraint 'constrLPM.c2' depends on definition variables; This may not do what you expect. See ?mxConstraint")