広告 R関数の使い方辞典

graph_from_adjacency_matrix 関数の設定

2023年10月27日

graph_from_adjacency_matrix 関数は igraph ライブラリに含まれています。igraph は、Rでネットワーク(グラフ)データを作成、操作、可視化するための非常に強力で柔軟なパッケージです。

graph_from_adjacency_matrix 関数は、隣接行列を使用してネットワーク(グラフ)オブジェクトを作成するために使われます。隣接行列は、ノード間の接続関係を行列形式で表したもので、この行列から直接グラフを生成することができます。

igraph パッケージをまだインストールしていない場合は、次のコマンドでインストールできます

install.packages("igraph")

インストール後、ライブラリをロードして graph_from_adjacency_matrix 関数を使用することができます。

library(igraph)


# 例:隣接行列からグラフを作成
adj_matrix <- matrix(c(0, 1, 1,
1, 0, 1,
1, 1, 0), nrow = 3, byrow = TRUE)

graph <- graph_from_adjacency_matrix(adj_matrix, mode = "undirected", diag = FALSE)

1. adj_matrix: これは隣接行列を表す変数です。隣接行列はグラフのノード間の接続関係を表し、行列の各要素(セル)はノード間の接続(エッジ)の有無(またはエッジの重み)を示します。行と列はグラフのノードに対応しています。

2. mode = "undirected": この引数はグラフのタイプを指定します。"undirected" は無向グラフを意味し、エッジに方向性がないことを意味します(つまり、ノードAからノードBへの接続はノードBからノードAへの接続と同じと見なされます)。もし有向グラフを作成したい場合は "directed" を指定します。

3. diag = FALSE: この引数は、隣接行列の対角成分(各ノード自身への接続)を無視するかどうかを指定します。FALSE に設定すると、自己ループ(ノード自身へのエッジ)はグラフに含まれません。TRUE に設定すると、対角成分がエッジとして含まれます。

したがって、graph_from_adjacency_matrix(adj_matrix, mode = "undirected", diag = FALSE) というコマンドは、adj_matrix という隣接行列から無向グラフを作成し、自己ループは含めない、という意味になります。このグラフは igraph オブジェクトとして返され、さらに分析や可視化に使用することができます。

-R関数の使い方辞典