将边缘权重添加到网络.graphml

时间:2017-03-02 16:39:52

标签: r network-programming igraph

我使用不同的R包来生成我的网络(纯素,二分,Hmisc,igraph)。最后,我将.graphml格式的网络导入Cytoscape 3.4.0。 然后,我选择文件>导入>网络>文件。 我加载网络,我可以正确地看到它,但是当我想看到边缘重量时,它们就丢失了(在边桌中)......我的目标只是根据它们的重量来调整边缘宽度。

当我在文本编辑器中查看我的graphml文件时,它不包含边权重。这对我来说意味着我的R管道中缺少一个步骤来将边缘值添加到graphml文件中。

总结我的管道

> mat=rcorr(as.matrix(g)) #g is my OTU table
> matp=mat$P
> vec=p.adjust(matp,method="fdr")
> matpa=matrix(vec,nrow=100,ncol=100)
> matpa[matpa>.01]=0 
> matr=mat$r
> matr[(-0.6)<matr& matr<0.6]=0

将两个表结合起来以保持r值与p值<0.01(matr2)

> matr2.c=as.matrix(matr2)
> net=graph.adjacency(matr2.c,weighted=T,mode="undirected",diag=F)
> net=delete.vertices(net,which(degree(net)<1)) 

然后我绘制我的图表,一切正常。我以这种方式生成我的graphml文件

> write.graph(net,"net.graphml",format=c("graphml"))

我是R Studio的初学者,而且我并不熟悉igraph包中的所有功能。我多次阅读本手册,但我还不确定哪个功能我应该选择。

由于

爱丽丝

0 个答案:

没有答案