gRain integration {bnlearn} | R Documentation

## Import and export networks from the gRain package

### Description

Convert `bn.fit` objects to `grain` objects and vice versa.

### Usage

    ## S3 method for class 'grain'
    as.bn.fit(x, including.evidence = FALSE, ...)
    ## S3 method for class 'bn.fit'
    as.grain(x)
    ## S3 method for class 'grain'
    as.bn(x, ...)

### Arguments

`x` | an object of class `grain(code)` (for `as.bn.fit`) or `bn.fit()` (for `as.grain`).
`including.evidence` | a boolean value. If `FALSE`, the `grain` object is converted without considering any evidence that has been set into it. If `TRUE`, any hard evidence is carried over into the `bn.fit` object as a zero-one probability distribution.
`...` | extra arguments from the generic method (currently ignored).

### Value

An object of class `grain` (for `as.grain`), `bn.fit` (for `as.bn.fit`) or `bn` (for `as.bn`).

### Note

Conditional probability tables in `grain` objects must be completely specified; on the other hand, `bn.fit` allows `NaN` values for unobserved parents' configurations. Such `bn.fit` objects will be converted to $m$ codegrain objects by replacing the missing conditional probability distributions with uniform distributions.

Another solution to this problem is to fit another `bn.fit` with `method = "bayes"` and a low `iss` value, using the same data and network structure.

Ordinal nodes will be treated as categorical by `as.grain`, disregarding the ordering of the levels.

### Author(s)

Marco Scutari

### Examples

    ## Not run:
    library(gRain)
    a = bn.fit(hc(learning.test), learning.test)
    b = as.grain(a)
    c = as.bn.fit(b)
    ## End(Not run)

[Package bnlearn version 4.7.1 Index]