# NOT RUN {
yn <- c("yes","no")
ynm <- c("yes","no","maybe")
a <- cptable( ~ asia, values=c(1,99), levels=yn)
t.a <- cptable( ~ tub : asia, values=c(5,95,1,99,1,999), levels=ynm)
d.a <- cptable( ~ dia : asia, values=c(5,5,1,99,100,999), levels=ynm)
cptlist <- compileCPT(list(a,t.a,d.a))
grain(cptlist)
## Example: Specifying conditional probabilities as a matrix
bayes.levels <- c('Enzyme', 'Keratine', 'unknown')
root.node <- cptable( ~R, values=c( 1, 1, 1 ), levels=bayes.levels)
cond.prob.tbl <- t(matrix( c( 1, 0, 0, 0, 1, 0, 0.5, 0.5, 0 ),
nrow=3, ncol=3, byrow=TRUE, dimnames=list(bayes.levels, bayes.levels)))
cond.prob.tbl
## Notice above: Columns represent parent states; rows represent child states
query.node <- cptable( ~ Q | R, values=cond.prob.tbl, levels=bayes.levels )
sister.node <- cptable( ~ S | R, values=cond.prob.tbl, levels=bayes.levels )
## Testing
compile(grain(compileCPT(list( root.node, query.node, sister.node ))), propagate=TRUE)
# }
Run the code above in your browser using DataLab