use*_*430 5 r igraph correlation
我试图弄清楚如何使用 graph.adjacency 使用相关矩阵(值 -1 到 1)创建图形,但只包含图形文件中包含的最强烈相关的边,即 <-.8 或 >。 8
这是成功为我提供具有完整数据集的网络的代码:
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")
Run Code Online (Sandbox Code Playgroud)
我尝试使用 delete.edges 将网络减少到至少 >.8 以进行测试,但生成的文件仍然显示边缘权重低于 0.8
graph.copy <- delete.edges(graph, which(E(graph)$weight !<0.8)-1)
write.graph(graph.copy, file="gsig80.graphml", format="graphml")
Run Code Online (Sandbox Code Playgroud)
关于如何获取我想要的图形文件的任何建议?
如果需要,您可以从图中删除边,或者首先从矩阵中删除它们。例如
cor_mat[ cor_mat < .8 ] <- 0
diag(cor_mat) <- 0
graph <- graph.adjacency(cor_mat, weighted=TRUE, mode="lower")
Run Code Online (Sandbox Code Playgroud)
以下是在创建图表后如何从图表中删除它们:
graph <- delete.edges(graph, E(graph)[ weight < 0.8 ])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7190 次 |
| 最近记录: |