Визуализация объекта pcAlgo в ggdag?

#r #directed-acyclic-graphs #causality

Вопрос:

Здесь есть документация (https://www.rdocumentation.org/packages/pcalg/versions/2.7-3/topics/pc) о том, как запустить алгоритм ПК для двоичных данных.

 library(pcalg)
##################################################
## Using discrete data
##################################################
## Load data
data(gmD)
V <- colnames(gmD$x)
## define sufficient statistics
suffStat <- list(dm = gmD$x, nlev = c(3,2,3,4,2), adaptDF = FALSE)
## estimate CPDAG
pc.D <- pc(suffStat,
           ## independence test: G^2 statistic
           indepTest = disCItest, alpha = 0.01, labels = V, verbose = TRUE)
if (require(Rgraphviz)) {
  ## show estimated CPDAG
  par(mfrow = c(1,2))
  plot(pc.D, main = "Estimated CPDAG")
  plot(gmD$g, main = "True DAG")
}
 

Мне интересно, могу ли я в любом случае использовать pc.D объект для визуализации этого в ggdag (https://cran.r-project.org/web/packages/ggdag/vignettes/intro-to-ggdag.html).

Есть ли способ?

Комментарии:

1. Похоже , что ggdag использует igraph для своих графических инструментов. Таким образом, вы можете преобразовать свой график в igraph объект.

2. … быстрый взгляд-это то, с помощью чего вы можете получить матрицу смежности as(pc.D@graph, "matrix") . Затем вы можете использовать любое графическое программное обеспечение, которое вы хотите создать, для создания графика. РЕДАКТИРОВАТЬ:: или формировать igraph объект непосредственно с помощью igraph::graph_from_graphnel(pc.D@graph)

3. ggdag() принимает в себя объект daggity. есть ли какой-либо способ преобразования pc.D в объект daggity?