热线电话:13121318867

登录
2018-10-24 阅读量: 2607
几行代码教你怎么用R实现幂律分布

自然界与社会生活中存在各种各样性质迥异的幂律分布现象,因而对它们的研究具有广泛而深远的意义。借助于有效的物理和数学工具以及强大的计算机运算能力,科学家们对幂律分布的本质有了进一步深层次的理解。

实际上,幂律分布广泛存在生物、地球与行星科学、计算机科学、生物学、生态学、人口统计学与社会科学、经济与金融学等众多领域中,且表现形式多种多样. 在自然界与日常生活中,包括地震规模大小的分布 (古登堡2里希特定律) 、月球表面上月坑直径的分布、行星间碎片大小的分布 、太阳耀斑强度的分布 、计算机文件大小的分布 、战争规模的分布 、人类语言中单词频率的分布 、大多数国家姓氏的分布 、科学家撰写的论文数的分布、论文被引用的次数的分布、网页被点击次数的分布 、书籍及唱片的销售册数或张数的分布、每类生物中物种数的分布、甚至电影所获得的奥斯卡奖项数的分布等,都是典型的幂律分布。

那这么在R里实现幂律分布呢,别急代码如下:

用curve函数可以实现,我用的例子是power.law.fit函数帮助文档下面的example:

library(igraph)

g <- barabasi.game(1000) # increase this number to have a better estimate

d <- degree(g, mode="in")

fit1 <- power.law.fit(d+1, 10)

## 这里可以作出拟合的图出来

curve(x^fit1$alpha,from=1,to=10)

99.9904
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子