No.22616 【R】 リスト構造からの読み取り  【明石】 2018/10/02(Tue) 21:46

青木先生 様;

お忙しいところを失礼いたします,明石と申します。
毎々,ご丁寧なご教示をいただき,誠にありがとうございます。
改めて,御礼を申し上げます。

青木先生にご教示いただきたいことが出てきました。
何卒どうぞよろしくお願いいたします。

---------------------------

ベイジアンネット bnlearn パッケージの出力結果のリスト構造からグラフ構造を取得したいと思います。
以下,グラフ描画までのコード例をお示しします。
library(bnlearn)   # ベイジアンネットのパッケージ

df <- learning.test # 組み込みのデータセット

res <- hc(df)   # 構造学習 hill-climbing法を適用
plot(res, main = "hill-climbing法による構造学習") # 添付の画像ファイル

str(res)
取得したリスト構造に注釈①〜⑧を付与したものを,末尾にお示しをします。
注釈①〜⑧の箇所から,グラフの親子構造(親は→の元,子は→の先)を出力する
Rプログラムのご教示をいただければ大変に助かります。

誠にお恥ずかしいのですが,まったく手も足も出ません。

所望する出力です。
A,B
A,D
B,E
C,D
F,E
--------------------------------
以下,str(res) の出力結果に,①〜⑧の注釈を付与しました。
List of 3
$ learning:List of 8
..$ whitelist: NULL
..$ blacklist: NULL
..$ test : chr "bic"
..$ ntests : num 40
..$ algo : chr "hc"
..$ args :List of 1
.. ..$ k: num 4.26
..$ optimized: logi TRUE
..$ illegal : NULL
$ nodes :List of 6
..$ A:List of 4             ⇒①
.. ..$ mb : chr [1:3] "B" "C" "D"
.. ..$ nbr : chr [1:2] "B" "D"
.. ..$ parents : chr(0)
.. ..$ children: chr [1:2] "B" "D"    ⇒②
..$ B:List of 4             ⇒③
.. ..$ mb : chr [1:3] "A" "E" "F"
.. ..$ nbr : chr [1:2] "A" "E"
.. ..$ parents : chr "A"
.. ..$ children: chr "E"         ⇒④
..$ C:List of 4            ⇒⑤       
.. ..$ mb : chr [1:2] "A" "D"
.. ..$ nbr : chr "D"
.. ..$ parents : chr(0)
.. ..$ children: chr "D"         ⇒⑥
..$ D:List of 4
.. ..$ mb : chr [1:2] "A" "C"
.. ..$ nbr : chr [1:2] "A" "C"
.. ..$ parents : chr [1:2] "A" "C"
.. ..$ children: chr(0)
..$ E:List of 4
.. ..$ mb : chr [1:2] "B" "F"
.. ..$ nbr : chr [1:2] "B" "F"
.. ..$ parents : chr [1:2] "B" "F"
.. ..$ children: chr(0)
..$ F:List of 4             ⇒⑦
.. ..$ mb : chr [1:2] "B" "E"
.. ..$ nbr : chr "E"
.. ..$ parents : chr(0)
.. ..$ children: chr "E"         ⇒⑧
$ arcs : chr [1:5, 1:2] "A" "A" "C" "B" ...
..- attr(*, "dimnames")=List of 2
.. ..$ : NULL
.. ..$ : chr [1:2] "from" "to"
- attr(*, "class")= chr "bn"
何卒どうぞ,よろしくお願いいたします。
いつもありがとうございます。


No.22617 Re: 【R】 リスト構造からの読み取り  【青木繁伸】 2018/10/02(Tue) 23:14

この件については,何も知りませんが,
以下のようにすれば,簡単に解が得られのでは?
> res$arcs
from to
[1,] "A" "B"
[2,] "A" "D"
[3,] "C" "D"
[4,] "B" "E"
[5,] "F" "E"
See bn-class for details.

arcs: the arcs of the Bayesian network (a two-column matrix, whose columns are labeled from and to). Undirected arcs are stored as two directed arcs with
opposite directions between the corresponding incident nodes.

No.22618 Re: 【R】 リスト構造からの読み取り  【明石】 2018/10/03(Wed) 19:59

青木先生 様;

お忙しいところを失礼いたします,明石と申します。

今回も大変に良い勉強をさせていただきました。
心から御礼を申し上げます。

● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る