【R】ggdag

1. はじめに

ggdagは、有向非巡回グラフ(directed acyclic graphs)を描画、分析するパッケージです。

2. インストール

CRANからインストールできます。

install.packages("ggdag")

3. つかってみる

簡単な例を示します。

library(ggdag)

#  dagitty packageより一例
dag <- dagitty::dagitty("dag {
    x <- z1 <- v -> z2 -> y
    z1 <- w1 <-> z2
    x <- w1
    x <- w2 -> y
    x [exposure]
    y [outcome]
  }"
)

tidy_dag <- tidy_dagitty(dag)

tidy_dag 
> tidy_dag 
# A DAG with 7 nodes and 9 edges
#
# Exposure: x
# Outcome: y
#
# A tibble: 11 x 8
   name      x     y direction to     xend  yend circular
   <chr> <dbl> <dbl> <fct>     <chr> <dbl> <dbl> <lgl>   
 1 v      7.73  13.4 ->        z1     6.86  12.4 FALSE   
 2 v      7.73  13.4 ->        z2     6.65  14.3 FALSE   
 3 w1     6.34  13.1 ->        x      5.43  12.6 FALSE   
 4 w1     6.34  13.1 ->        z1     6.86  12.4 FALSE   
 5 w1     6.34  13.1 <->       z2     6.65  14.3 FALSE   
 6 w2     4.46  13.7 ->        x      5.43  12.6 FALSE   
 7 w2     4.46  13.7 ->        y      5.24  14.8 FALSE   
 8 z1     6.86  12.4 ->        x      5.43  12.6 FALSE   
 9 z2     6.65  14.3 ->        y      5.24  14.8 FALSE   
10 x      5.43  12.6 NA        NA    NA     NA   FALSE   
11 y      5.24  14.8 NA        NA    NA     NA   FALSE 

ggplotで描画もできます。

ggdag(tidy_dag) +
  theme_dag()
ggdag_adjustment_set(tidy_dag, node_size = 12) + 
  theme(legend.position = "bottom")

4. さいごに

僕も場合、あまり使うことななさそうですが、覚えておこう。

Add a Comment

メールアドレスが公開されることはありません。