我正在研究一个问题,找出与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
答案 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
对象。这是错误信息的内容:
是的 - &#34;不要给我一个&#39; igraph&#39;对象,我想要一个data.frame&#34;as.data.frame.default(d)出错:无法强制上课&#34;&#34; igraph&#34;&#34;到data.frame
所有这一切的最终结论是 - 从源data.frame
转到igraph
对象,然后提取邻接矩阵:
get.adjacency(graph.data.frame(s1, directed=F))