如何用R绘制兼容性?

时间:2013-06-19 19:59:18

标签: r igraph sna

我在文献中找到了关于协调性(用于网络)的图。我想以与R& S类似的方式绘制我的网络。 igraph。 图表上的每个点都对应一个网络边缘。在我的情况下,x轴应表示源节点的度数,y轴应表示目标节点的度数。我是R的初学者,因此如果有人能帮助我策划这个,我将非常感激。 enter image description here

我现在使用了Vincent Zoonekynd的代码并得到了下图。但是我觉得它仍然没有表现出正确的东西。轴上的节点应按其度数排序。当我看到该情节时,我看到一些高度的节点围绕轴标记42,100或175。这没有多大意义。这里的排名过程有问题吗?

A <- get.adjacency(USAN_g_num)            
image(A,  ylim=c(0,627))             
i <- rank( degree(USAN_g_num), na.last=NA, ties.method="first" )
image(A[i,i], ylim=c(0,627)) 

(我在代码中添加了一个ylim,以便在左下角和右上角的同一角落中绘制低 - 低度和高 - 高度) 但是我的情节应该与我上面展示的情节有所不同是正确的,因为我的数据是不相称的。 enter image description here

1 个答案:

答案 0 :(得分:3)

它看起来像图的邻接矩阵, 节点按度数排序。

# Sample data
library(igraph)
library(Matrix)
g <- erdos.renyi.game(10, p=1/2) + erdos.renyi.game(10, p=1/2)

# Plot the adjacency matrix
A <- get.adjacency(g)
image(A)

# In this example, sorting the nodes by degree is not a good idea
i <- order( degree(g) )
image(A[i,i])