無向グラフの固有値分析 のRによる実施例です。
無向グラフの隣接行列(対称行列)がスタートになります。
setwd("C:/Rtest")
MatA <- as.matrix(read.csv("Data.csv",row.names = 1))
library(igraph)
plot(graph.adjacency(MatA, mode = "undirected")) # 無向グラフを描く
n <- ncol(MatA)
MatD <- matrix(0,nrow=n,ncol=n)
for (i in 1:n) {
MatD[i,i] <-sum(MatA[i,])
}
MatL <-MatD - MatA
round(eigen(MatL)$values,3) # 固有値
round(eigen(MatL)$vectors,3) # 固有ベクトル
ゼロになった固有値は、3つあります。
グループが3つあることと一致しています。