12.1、PageRank实例

实例一:PageRankR中的应用

1、加载R包:

> library(igraph)

> library(dplyr)

 

2、随机生成具有10个对象的有向图

> g <-random.graph.game(n=10, p.or.m=1/4, directed=T)

igraph包中的random.graph.game()函数或者erdos.renyi.game(n, p.or.m,directed)函数:根据Erdos-Renyi模型生成随机图形。n为图中的顶点数;p.or.m为以任意两点为边的概率或者图中的边数;directed图是否将被引导,默认为F。

 

> class(g)

[1]"igraph"

> g

IGRAPH D--- 10 26 --Erdos renyi (gnp) graph

+ attr: name (g/c),type (g/c), loops (g/l), p (g/n)

+ edges:

 [1] 4-> 1  8-> 1 10-> 1  4-> 2 6-> 2  3->10  6-> 3 8-> 3  9-> 3

[10]  2-> 4 2-> 5  4-> 5  5->10 2-> 6  3-> 6  5-> 6 2-> 7  4-> 7

[19]  6-> 7 7->10  1-> 8  4-> 8 5-> 8  2-> 9  7-> 9 10-> 9

 

3、画有向图:

> plot(g)

 

4、计算PageRank:

> pr <-page.rank(g)

igraph包中的page.rank(graph)函数:PageRank算法。graph对象。

 

> pr

$vector

 [1] 0.13658175 0.05204791 0.199281490.02384814 0.02790233

 [6] 0.11644844 0.06089605 0.143054330.10645844 0.13348112

$value

[1] 1

$options

NULL

> str(pr)

List of 3

 $ vector : num [1:10] 0.1366 0.052 0.19930.0238 0.0279 ...

 $ value : num 1

 $ options: NULL

> summary(pr)

        Length Class  Mode  

vector  10    -none- numeric

value    1    -none- numeric

options  0    -none- NULL  

 

5、显示每个对象的PageRank:

> df <-data.frame(Object=1:10, PageRank=pr$vector)

> df

   Object  PageRank

1       1 0.13658175

2       2 0.05204791

3       3 0.19928149

4       4 0.02384814

5       5 0.02790233

6       6 0.11644844

7       7 0.06089605

8       8 0.14305433

9       9 0.10645844

10     10 0.13348112

> arrange(df, desc(PageRank))      PageRank降序排列

   Object  PageRank

1       3 0.19928149

2       8 0.14305433

3       1 0.13658175

4      10 0.13348112

5       6 0.11644844

6       9 0.10645844

7       7 0.06089605

8       2 0.05204791

9       5 0.02790233

10      4 0.02384814

dplyr包中的arrange(.data,…)函数:按变量排列成行,可以使用desc来降序排列变量。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值