结构孔和邻接矩阵

时间:2015-05-12 05:45:28

标签: r

我正在研究一个问题,找出与R中的结构孔相关的度量。问题是当我应用下面的代码将邻接矩阵保存到名为“x”的变量(从该源复制){{ 3}} 它给了我一个错误:

  

“as.data.frame.default(d)出错:         不能强迫类“”igraph“”到data.frame“

我的代码和数据集如下所示 数据框

s1
   uid1 uid2    
1     1    2    
2     1    3    
3     1    4    
4     1    5    
5     2    3   
6     2    4    
7     2    5    
8     3    4    
9     3    5    
10    4    5   
11    6    7    
12    6    8    
13    6    9    
14    7    8    
15    7    9    
16    8    9    
17    1    6   
18    1    7   
19    6    7

当我应用此代码时,错误就会变为此处

x <- get.adjacency(graph.data.frame(graph.edgelist(as.matrix(s1), directed=F)))
  

as.data.frame.default(d)出错:         不能强迫类“”igraph“”到data.frame

因此,对结构孔使用此代码的任何帮助都会像

一样
y <- index.egonet(x) #desired output is this code

1 个答案:

答案 0 :(得分:0)

你要去

data.frame (s1)               -->  
   matrix                     --> 
     graph via graph.edgelist --> 
       trying to create a graph again via graph.data.frame

这就是您收到错误的原因,因为您已经有了图表,并且graph.data.frame()期望data.frame作为输入,而不是igraph对象。这是错误信息的内容:

  

as.data.frame.default(d)出错:无法强制上课&#34;&#34; igraph&#34;&#34;到data.frame

是的 - &#34;不要给我一个&#39; igraph&#39;对象,我想要一个data.frame&#34;

所有这一切的最终结论是 - 从源data.frame转到igraph对象,然后提取邻接矩阵:

get.adjacency(graph.data.frame(s1, directed=F))