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
オブジェクトとして返され、さらに分析や可視化に使用することができます。