Learn R Programming

gRain (version 1.3-0)

logical: Conditional probability tables based on logical dependencies

Description

Generate conditional probability tables based on the logical expressions AND and OR.

Usage

booltab(vpa, levels = c(TRUE, FALSE), op = `&`)

andtab(vpa, levels = c(TRUE, FALSE))

ortab(vpa, levels = c(TRUE, FALSE))

andtable(vpa, levels = c(TRUE, FALSE))

ortable(vpa, levels = c(TRUE, FALSE))

Arguments

vpa

Node and two parents; as a formula or a character vector.

levels

The levels (or rather labels) of v, see 'examples' below.

op

A logical operator.

Value

An array.

Details

Regarding the form of the argument vpa: To specify \(P(a|b,c)\) one may write ~a|b+c or ~a+b+c or ~a|b:c or ~a:b:c or c("a","b","c"). Internally, the last form is used. Notice that the + and : operator are used as separators only. The order of the variables is important so + does not commute.

References

S<U+00F8>ren H<U+00F8>jsgaard (2012). Graphical Independence Networks with the gRain Package for R. Journal of Statistical Software, 46(10), 1-26. http://www.jstatsoft.org/v46/i10/.

See Also

cptable

Examples

Run this code
# NOT RUN {
## Logical OR:

## A variable v is TRUE if either of its parents pa1 and pa2 are TRUE:
ortab( c("v", "pa1", "pa2") ) %>% ftable(row.vars="v")
## TRUE and FALSE can be recoded to e.g. yes and no:
ortab( c("v", "pa1", "pa2"), levels=c("yes", "no") ) %>% ftable(row.vars="v")

## Logical AND:

## Same story here:
andtab( c("v", "pa1", "pa2") ) %>% ftable(row.vars="v")
andtab( c("v", "pa1", "pa2"), levels=c("yes", "no") ) %>% ftable(row.vars="v")

## Combined approach

booltab(c("v", "pa1", "pa2"), op=`&`) %>% ftable(row.vars="v") ## AND
booltab(c("v", "pa1", "pa2"), op=`|`) %>% ftable(row.vars="v") ## OR

booltab(~v+pa1+pa2, op=`&`) %>% ftable(row.vars="v") ## AND
booltab(~v+pa1+pa2, op=`|`) %>% ftable(row.vars="v") ## OR

# }

Run the code above in your browser using DataLab