## See the wet grass example at
## https://en.wikipedia.org/wiki/Bayesian_network
yn <- c("yes", "no")
ssp <- list(R=yn, S=yn, G=yn) # state space
## Different forms
t1 <- cpt(c("S", "R"), levels=ssp, values=c(.01, .99, .4, .6))
t2 <- cpt(~S:R, levels=ssp, values=c(.01, .99, .4, .6))
t3 <- cpt(~S:R, levels=c(2, 2), values=c(.01, .99, .4, .6))
t4 <- cpt(~S:R, levels=yn, values=c(.01, .99, .4, .6))
t1; t2; t3; t4
varNames(t1)
valueLabels(t1)
## Wet grass example
ssp <- list(R=yn, S=yn, G=yn) # state space
p.R <- cpt(~R, levels=ssp, values=c(.2, .8))
p.S_R <- cpt(~S:R, levels=ssp, values=c(.01, .99, .4, .6))
p.G_SR <- cpt(~G:S:R, levels=ssp, values=c(.99, .01, .8, .2, .9, .1, 0, 1))
wet.cpt <- compileCPT(p.R, p.S_R, p.G_SR)
wet.cpt
wet.cpt$S # etc
# A Bayesian network is created with:
wet.bn <- grain(wet.cpt)
Run the code above in your browser using DataLab