Rを用いてグラフ理論を学んでみる。



スポンサードリンク

グラフ理論をRを使って勉強してみよう思います。

今回は簡単なグラフを可視化するところから。

その前に環境構築(mac)

Rは簡単にインストールできます。ここではRとRの統合開発環境のRーstudio(swift でいうxcode,androidアプリでいうandroid-studio)のインストール方法について述べて行きます。

homebrewはあらじかじめインストールしておいてください。

次に下記のコマンドを実行し、インストール

かなり時間かかります。辛抱強く待ちましょう。

次にR-studioです

次にインストールコマンド。

インストールが終了するとターミナルに以下が表示されると思います。

以下のコマンドを実行するかlaunchpad等から直接起動しましょう。

以上で準備は終わりです。

グラフ理論の細かいことはほっといて…

とりあえずR-studioで遊びましょう。起動すると以下のような画面になると思います。

左側がコンソールでここにコマンド打ち込んで行きます。スクリプトを作成し、それを読み込ませることもできるみたいですが、それはまた今度で。

R-studioでグラフ理論を学ぼう!(超基本)

グラフを作成するために以下のコマンドを実行しライブラリを読み込みます。

グラフ理論ではグラフをGで定義し、ここでは以下のように定義します。

erdos.renyi.game()の意味は現時点では不明だが、呪文だと思って使うことにします。

()内の数字は、10がグラフ理論における隣接行列の行の数(正方行列)。9/10が一列または一行における成分が「1」の数となる最大値。

これはランダム生成なので、必ずしも列、行内に1が9個出現する訳ではありません。

最後は有向グラフという意味。無向グラフの場合はいりません。

次にxとして隣接行列の作成

そうすると以下のような隣接行列が作成されます。

次にエッジリストです。

隣接行列に比べ、コンパクトになるので、大規模かつ疎なグラフに対して用いられます

以下のコマンドを実行。

実行するとわかりますが、グラフが密であるため、成分が多くなり、かなり行数が多くなります。

今回はスペース省略のため割愛させていただきます。

ついに可視化!

layout.()関数はグラフを描画するためのコマンドで、色々な種類のグラフを作成するために多くの関数が用意されています。

今回は円で表示したいのでcircleにする。

R-studioの右下の欄に以下が表示されれば、おっけーです。

ついでにlayout.circleをlayout.sphereにしてみる。

まだ勉強不足なため、両者の違いが理解できない笑

以上で、R-studioでのグラフ理論の遊びを終わりにします。

隣接行列やエッジリストの説明など今回は省きましたが、R-studioを使って遊びながら書いて行きます。



スポンサードリンク

記事が役に立ったらシェア!

投稿者:

中村 俊

中村 俊

1993/09/04生まれ。機械系大学院を休学し、ベンチャーでインターンしている最中。直近では、デカルトの「方法序説」に感銘を受けた。 趣味:読書、web開発の勉強、異分野の論文読んだり、記事書いたり。 最終的には経営者か研究者になりたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA