data_cont<-function(ssize,seed){ set.seed(seed) W<-rbinom(ssize,1,prob=0.5) U<-runif(n=ssize,min=-3,max=3) pC1<-plogis(-2.5+0.1*U+0.25*W-0.25*U*W+0.2*U^2) C1<-rbinom(ssize,1,prob=pC1) mL2<-0.25*U+0.25*W L2<-rnorm(ssize,mean=mL2,sd=1) pC2<-plogis(-2.5+0.1*U-0.1*L2+0.25*U*L2+0.25*W-0.25*U*W+0.2*U^2) pC2[C1==1]<-1 C2<-rbinom(ssize,1,prob=pC2) mL3<-0.15*U+0.15*L2+0.25*W L3<-rnorm(ssize,mean=mL3,sd=1) pC3<-plogis(-2.5+0.1*U-0.1*L3+0.25*U*L3+0.25*W-0.25*U*W+0.2*U^2) pC3[C2==1]<-1 C3<-rbinom(ssize,1,prob=pC3) mu3<-(1.5+0.5*U+0.25*L3-0.25*W+0.2*U*W-0.3*U^2) Y3<-rnorm(ssize,mean=mu3,sd=1) C2[C1==1]<-1 C3[C2==1]<-1 L2[C1==1]<-NA L3[C2==1]<-NA Y3[C3==1]<-NA return(as.data.frame(cbind(W,U,L2,L3,Y3,C1,C2,C3))) } #end data gen #true values 0.6 and -0.178