Nothing
library(pcalg)
doExtras <- pcalg:::doExtras()
showProc.time <- local({
pct <- proc.time()
function() { ## CPU elapsed __since last called__
ot <- pct ; pct <<- proc.time()
cat('Time elapsed: ', (pct - ot)[1:3],'\n')
}
})
########################################################
##
## Example 1: Zhang (2008), Fig. 6, p.1882
## Paper with rules
##
########################################################
## Removed here: is already in ../man/fci.Rd
## ------- -------------
showProc.time()
########################################################
##
## Example 2: Zhang (2006), Fig. 5.2, p.198
## Dissertation
##
########################################################
## create the graph g
p <- 5; . <- 0
V2 <- LETTERS[1:6]
edL2 <- setNames(vector("list", length=length(V2)), V2)
edL2[[1]] <- list(edges=4,weights=1)
edL2[[2]] <- list(edges=c(4,5),weights=c(0.5,1))
edL2[[3]] <- list(edges=4,weights=1)
edL2[[4]] <- list(edges=5,weights=1)
edL2[[6]] <- list(edges=c(3,4),weights=c(1,1))
g2 <- new("graphNEL", nodes=V2, edgeL=edL2,edgemode="directed")
print.table(1*(as(g2, "matrix") != 0), zero.print=".")
## A B C D E F
## A . . . 1 . .
## B . . . 1 1 .
## C . . . 1 . .
## D . . . . 1 .
## E . . . . . .
## F . . 1 1 . .
## hidden:
L2 <- 6
## compute the true covariance matrix of g
cov.mat2 <- trueCov(g2)
## delete rows and columns which belong to L
true.cov2 <- cov.mat2[-L2,-L2]
## transform it into a correlation matrix
true.corr2 <- cov2cor(true.cov2)
## PAG
suffStat2 <- list(C = true.corr2, n = 10^9)
true.pag2 <- fci(suffStat2, indepTest=gaussCItest, alpha = 0.99, p=p)
## define correct PAG
corr.pag2 <- rbind(c(.,.,.,2,.),
c(.,.,.,2,2),
c(.,.,.,2,.),
c(1,1,1,.,2),
c(.,3,.,3,.))
correctEst2 <- all(corr.pag2 == true.pag2@amat)
if (!correctEst2) stop("Test fci wrong: example 2!")
showProc.time()
if (doExtras) {
########################################################
##
## Example 3: random DAG
##
########################################################
suppressWarnings(RNGversion("3.5.0"))
set.seed(40)
##Random graph only R1-R10
g3 <- randomDAG(14,0.3)
## Define the latent variables
L3 <- c(8,10)
##pcAlgo.Perfect with true correlation matrix
##______________________________________________________
p <- 12
amat.g <- as(g3,"matrix")
colnames(amat.g) <- rownames(amat.g) <- graph::nodes(g3)
amat.g[amat.g!=0] <- 1
print.table(amat.g, zero.print=".")
##Compute the true covariance matrix of g
cov.mat3 <- trueCov(g3)
##Delete rows and columns which belong to L
true.cov3 <- cov.mat3[-L3,-L3]
##Transform it in a correlation matrix
true.corr3 <- cov2cor(true.cov3)
##PAG
suffStat3 <- list(C = true.corr3, n = 10^9)
true.pag3 <- fci(suffStat3, indepTest=gaussCItest, alpha = 0.99, p=p)
##define correct PAG
corr.pag3 <- rbind(c(.,.,2,.,.,2,.,.,.,2,2,2),
c(.,.,2,.,2,.,.,.,.,2,2,2),
c(1,1,.,.,2,.,2,2,.,.,.,.),
c(.,.,.,.,.,2,.,.,2,.,2,2),
c(.,3,3,.,.,2,2,.,2,2,2,.),
c(3,.,.,1,3,.,2,.,2,.,.,.),
c(.,.,3,.,3,3,.,.,.,.,.,.),
c(.,.,3,.,.,.,.,.,.,.,.,.),
c(.,.,.,3,3,3,.,.,.,.,.,.),
c(3,3,.,.,3,.,.,.,.,.,2,.),
c(3,3,.,1,3,.,.,.,.,1,.,2),
c(3,3,.,3,.,.,.,.,.,.,3,.))
correctEst3 <- all(corr.pag3 == true.pag3@amat)
if (!correctEst3) stop("Test fci wrong: example 3!")
showProc.time()
#########################################################################################
##
## Example 4: Spirtes 1997 p.21 DAG with latent variables and p.24 PAG
##
#########################################################################################
p <- 5; . <- 0
amat4 <- rbind(c(.,.,.,.,1,1,.),
c(.,.,.,1,.,.,1),
c(.,.,.,1,.,1,.),
c(.,.,.,.,1,.,.),
c(.,.,.,.,.,.,.),
c(.,.,.,.,.,.,1),
c(.,.,.,.,.,.,.))
colnames(amat4) <- rownames(amat4) <- as.character(1:7)
L4 <- c(1,2)
V4 <- as.character(1:7)
edL4 <- vector("list",length=7)
names(edL4) <- V4
edL4[[1]] <- list(edges=c(5,6),weights=c(abs(rnorm(1)),abs(rnorm(1))))
edL4[[2]] <- list(edges=c(4,7),weights=c(abs(rnorm(1)),abs(rnorm(1))))
edL4[[3]] <- list(edges=c(4,6),weights=c(abs(rnorm(1)),abs(rnorm(1))))
edL4[[4]] <- list(edges=5,weights=c(abs(rnorm(1))))
edL4[[6]] <- list(edges=7,weights=c(abs(rnorm(1))))
g4 <- new("graphNEL", nodes=V4, edgeL=edL4,edgemode="directed")
## compute the true covariance matrix of g1
cov.mat4 <- trueCov(g4)
## delete rows and columns which belong to L1
true.cov4 <- cov.mat4[-L4,-L4]
## transform it into a correlation matrix
true.corr4 <- cov2cor(true.cov4)
##PAG
suffStat4 <- list(C = true.corr4, n = 10^9)
true.pag4 <- fci(suffStat4, indepTest=gaussCItest, alpha = 0.99, p=p)
##define correct PAG
corr.pag4 <- rbind(c(.,2,.,2,.),
c(1,.,2,.,2),
c(.,3,.,2,.),
c(1,.,2,.,2),
c(.,2,.,3,.))
correctEst4 <- all(corr.pag4 == true.pag4@amat)
if (!correctEst4) stop("Test fci wrong: example 4!")
showProc.time()
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.