R/glasso+igraphで変数間の関係性を可視化


IrisデータでGraphical Lassoのリハビリ。

library(dplyr)
library(glasso)
library(igraph)

x <- iris %>% select(-Species)
s <- x %>% scale() %>% cov()
fit <- glasso(s = s, rho = 0.5)
a <- ifelse(fit$wi != 0, TRUE, FALSE)
diag(a) <- 0
colnames(a) <- colnames(x)
rownames(a) <- colnames(x)
g <- graph_from_adjacency_matrix(a, mode = "undirected")
plot(g)