Я пытаюсь выяснить, как использовать graph.adjacency для создания графика с использованием корреляционной матрицы (значения от -1 до 1), но только с наибольшим сильнокоррелированные края, включенных в файл графа, т.е. < -.8 или> .8igraph (R) Как создать корреляционную сеть только с сильными значениями r
Вот код, который успешно дает мне сеть с полным набором данных:
corrdata<-read.csv("spearmancorr.csv",header=FALSE)
cor_mat<-as.matrix(corrdata)
diag(cor_mat)<-0
graph<-graph.adjacency(cor_mat,weighted=TRUE,mode="lower")
Я попытался с помощью удаления. края, чтобы уменьшить сеть, по крайней мере до> .8, чтобы проверить ее, но в результирующем файле по-прежнему отображаются веса ребер ниже 0,8
graph.copy <- delete.edges(graph, which(E(graph)$weight !<0.8)-1)
write.graph(graph.copy, file="gsig80.graphml", format="graphml")
Любые советы о том, как получить файл графика, который я хочу?
Пожалуйста, воспроизводимый пример, включая данные, так что я могу вставить код в мою консоль и запустить его без ошибок Сообщения. – bdemarest
Думаю, вам придется изменить матрицу смежности. –