Rによるデータ分析

Rによる有向グラフの固有値分析

有向グラフの固有値分析 のRによる実施例です。

有向グラフの隣接行列(対称行列)がスタートになります。
隣接行列の固有値分析

疑似ラプラシアン行列の固有値分析

setwd("C:/Rtest")
MatA <- as.matrix(read.csv("Data.csv",row.names = 1))
library(igraph)
plot(graph.adjacency(MatA, mode = "directed"))
# 有向グラフを描く
n <- ncol(MatA)
MatD <- matrix(0,nrow=n,ncol=n)
for (i in 1:n) {
MatD[i,i] <-sum(MatA[i,])
# 隣接行列の各行の合計値を、次数とみなす。列の合計値にしたい場合は、MatA[,i])
}
MatL <-MatD - MatA
round(eigen(MatL)$values,3)
# 固有値
round(eigen(MatL)$vectors,3)
# 固有ベクトル

隣接行列の固有値分析
ゼロになった固有値は、3つあります。 グループが3つあることと一致しています。



Rによるデータ分析

データサイエンス教室