## We reproduce the four examples in Perkovic et.al. (2015)
##############################
## Example 4.1
##############################
mFig1 <- matrix(c(0,1,1,0,0,0, 1,0,1,1,1,0, 0,0,0,0,0,1,
0,1,1,0,1,1, 0,1,0,1,0,1, 0,0,0,0,0,0), 6,6)
type <- "cpdag"
x <- 3; y <- 6
## Z satisfies GAC
z <- c(2,4); gac(mFig1,x,y,z,type)
z <- c(4,5); gac(mFig1,x,y,z,type)
z <- c(4,2,1); gac(mFig1,x,y,z,type)
z <- c(4,5,1); gac(mFig1,x,y,z,type)
z <- c(4,2,5); gac(mFig1,x,y,z,type)
z <- c(4,2,5,1); gac(mFig1,x,y,z,type)
## Z does not satisfy GAC
z <- 2; gac(mFig1,x,y,z,type)
z <- NULL; gac(mFig1,x,y,z,type)
##############################
## Example 4.2
##############################
mFig3a <- matrix(c(0,1,0,0, 1,0,1,1, 0,1,0,1, 0,1,1,0), 4,4)
mFig3b <- matrix(c(0,2,0,0, 3,0,3,3, 0,2,0,3, 0,2,2,0), 4,4)
mFig3c <- matrix(c(0,3,0,0, 2,0,3,3, 0,2,0,3, 0,2,2,0), 4,4)
type <- "pag"
x <- 2; y <- 4
## Z does not satisfy GAC
z<-NULL; gac(mFig3a,x,y,z,type) ## not amenable rel. to (X,Y)
z<-NULL; gac(mFig3b,x,y,z,type) ## not amenable rel. to (X,Y)
## Z satisfies GAC
z<-NULL; gac(mFig3c,x,y,z,type) ## amenable rel. to (X,Y)
##############################
## Example 4.3
##############################
mFig4a <- matrix(c(0,0,1,0,0,0, 0,0,1,0,0,0, 2,2,0,3,3,2,
0,0,2,0,2,2, 0,0,2,1,0,2, 0,0,1,3,3,0), 6,6)
mFig4b <- matrix(c(0,0,1,0,0,0, 0,0,1,0,0,0, 2,2,0,0,3,2,
0,0,0,0,2,2, 0,0,2,3,0,2, 0,0,2,3,2,0), 6,6)
type <- "pag"
x <- 3; y <- 4
## both PAGs are amenable rel. to (X,Y)
## Z satisfies GAC in Fig. 4a
z<-6; gac(mFig4a,x,y,z,type)
z<-c(1,6); gac(mFig4a,x,y,z,type)
z<-c(2,6); gac(mFig4a,x,y,z,type)
z<-c(1,2,6); gac(mFig4a,x,y,z,type)
## no Z satisfies GAC in Fig. 4b
z<-NULL; gac(mFig4b,x,y,z,type)
z<-6; gac(mFig4b,x,y,z,type)
z<-c(5,6); gac(mFig4b,x,y,z,type)
##############################
## Example 4.4
##############################
mFig5a <- matrix(c(0,1,0,0,0, 1,0,1,0,0, 0,0,0,0,1, 0,0,1,0,0, 0,0,0,0,0), 5,5)
type <- "cpdag"
x <- c(1,5); y <- 4
## Z satisfies GAC
z <- c(2,3);gac(mFig5a,x,y,z,type)
## Z does not satisfy GAC
z <- 2;gac(mFig5a,x,y,z,type)
mFig5b <- matrix(c(0,1,0,0,0,0,0, 2,0,2,3,0,3,0, 0,1,0,0,0,0,0,
0,2,0,0,3,0,0, 0,0,0,2,0,2,3, 0,2,0,0,2,0,0, 0,0,0,0,2,0,0), 7,7)
type <- "pag"
x<-c(2,7); y<-6
## Z satisfies GAC
z<-c(4,5); gac(mFig5b,x,y,z,type)
z<-c(4,5,1); gac(mFig5b,x,y,z,type)
z<-c(4,5,3); gac(mFig5b,x,y,z,type)
z<-c(1,3,4,5); gac(mFig5b,x,y,z,type)
## Z does not satisfy GAC
z<-NULL; gac(mFig5b,x,y,z,type)
Run the code above in your browser using DataLab