## setFindings
yn <- c("yes", "no")
a <- cpt(~asia, values=c(1, 99),levels=yn)
t.a <- cpt(~tub+asia, values=c(5, 95, 1, 99),levels=yn)
s <- cpt(~smoke, values=c(5,5), levels=yn)
l.s <- cpt(~lung+smoke, values=c(1, 9, 1, 99), levels=yn)
b.s <- cpt(~bronc+smoke, values=c(6, 4, 3, 7), levels=yn)
e.lt <- cpt(~either+lung+tub,values=c(1, 0, 1, 0, 1, 0, 0, 1),levels=yn)
x.e <- cpt(~xray+either, values=c(98, 2, 5, 95), levels=yn)
d.be <- cpt(~dysp+bronc+either, values=c(9, 1, 7, 3, 8, 2, 1, 9), levels=yn)
chest.cpt <- compileCPT(a, t.a, s, l.s, b.s, e.lt, x.e, d.be)
chest.bn <- grain(chest.cpt)
## These two forms are equivalent
bn1 <- setFinding(chest.bn, nodes=c("chest", "xray"), states=c("yes", "yes"))
bn2 <- setFinding(chest.bn, flist=list(c("chest", "yes"), c("xray", "yes")))
getFinding(bn1)
getFinding(bn2)
pFinding(bn1)
pFinding(bn2)
bn1 <- retractFinding(bn1, nodes="asia")
bn2 <- retractFinding(bn2, nodes="asia")
getFinding(bn1)
getFinding(bn2)
pFinding(bn1)
pFinding(bn2)
Run the code above in your browser using DataLab