Interfacing with the pcalg R package

The pcalg package (link) is a versatile R package for structure learning. It implements both score-based algorithms such as the Greedy Equivalent Search (GES) and constraint-based algorithms such as the PC. It is one of the few R packages that can handle discrete data sets as well as continuous data sets.

Exporting a network structure to pcalg

Exporting bn or bn.fit objects to pcalg is not currently implemented in bnlearn.

Importing a network structure from pcalg

Importing network structures is implementeed in as.bn().

> library(pcalg)
> data("gmG")
> suffStat = list(C = cor(gmG8$x), n = nrow(gmG8$x))
> pc.gmG = pc(suffStat, indepTest = gaussCItest, p = ncol(gmG8$x), alpha = 0.01)
> library(bnlearn)
> as.bn(pc.gmG)

  Random/Generated Bayesian network

  model:
    [partially directed graph]
  nodes:                                 8 
  arcs:                                  8 
    undirected arcs:                     2 
    directed arcs:                       6 
  average markov blanket size:           2.25 
  average neighbourhood size:            2.00 
  average branching factor:              0.75 

  generation algorithm:                  Empty

Importing fitted Bayesian networks into bn.fit objects is not supported. Note that as graphs are imported with as.bn() they are checked to be acyclic, unless the user specifies check.cycles = FALSE.

Last updated on Sat Feb 17 23:25:37 2024 with bnlearn 5.0-20240208 and R version 4.3.2 (2023-10-31).