如何获得加权PageRank的R Igraph值以匹配Gephi



我正在从R中的igraph中获取PageRank值,以匹配我从Gephi中获得的值。我以这个例子为例:https://www.briggsby.com/personalized-pagerank我的igraph值与这个例子的加权值相匹配。但是Gephi为加权PageRank生成了一个不同的值,我不确定为什么。当我把它作为一个未加权的PageRank运行时,我在igraph和Gephi之间得到了相同的结果。

我正在导入的网络很容易得到正确的数学-

权重<1.0><1.0><1.0><1.0>
目标
A B
B C
C B
C A 0.5
A C
C D 0.1
D A 0.5

我无法用igraph重现您的结果。请提供一个最小限度的可复制示例,并提供可复制代码。你可以在这里找到指导。

这是您的可复制CSV:数据文件

Source,Target,Weight
A,B,1.
B,C,1.
C,B,1.
C,A,0.5
A,C,1.
C,D,0.1
D,B,0.5

我们在使用read.csv:后得到这个

df <- structure(list(Source = c("A", "B", "C", "C", "A", "C", "D"), 
Target = c("B", "C", "B", "A", "C", "D", "B"), Weight = c(1, 
1, 1, 0.5, 1, 0.1, 0.5)), class = "data.frame", row.names = c(NA, 
-7L))
g <- graph_from_data_frame(df)
page_rank(g, weights = E(g)$Weight)
$vector
A          B          C          D 
0.14857410 0.37354978 0.41816130 0.05971482 

使用ARPACK方法,这是一种完全不同的算法,我们得到了相同的结果:

> page_rank(g, weights = E(g)$Weight, algo = 'arpack')
$vector
A          B          C          D 
0.14857410 0.37354978 0.41816130 0.05971482 

这些数字与你引用的不同,但如果没有一个可重复的例子,我无法说出原因。

我应该注意的是,我研究了igraph的PageRank代码,我相信它不太可能给出错误的结果。

相关内容

  • 没有找到相关文章

最新更新