## Simulate data from a chain of 3 variables: x1 -> x2 -> x3
set.seed(123)
expit <- function(x) { exp(x) / (1 + exp(x)) }
b0 <- 0
b1 <- 1
b2 <- 1
n <- 10000
x1 <- sample(c(0,1),n,replace=TRUE)
p2 <- expit(b0 + b1*x1)
x2 <- rep(NA,length(x1))
for (i in 1:n) {
x2[i] <- sample(c(0,1),1,prob=c(1-p2[i],p2[i]))
}
p3 <- expit(b0 + b2*x2)
x3 <- rep(NA,length(x2))
for (i in 1:n) {
x3[i] <- sample(c(0,1),1,prob=c(1-p3[i],p3[i]))
}
dat <- cbind(x1,x2,x3)
## Test marginal and conditional independencies
gSquareBin(3,1,NULL,dat)
gSquareBin(3,1,2,dat)
gSquareBin(1,3,2,dat)
Run the code above in your browser using DataLab