澄邈 2023-11-18 11:32
浏览 137
已结题

R语言中用igraph包进行随机网络构建并计算拓扑属性,怎么计算模块化值

R语言中用igraph包进行:给定节点数为22和边数24,模拟100次ER随机网络,计算随机网络相关拓扑属性(平均聚类系数、平均路径长度、模块化值以及这三个值的均值和标准差)。有朋友构建的代码,但是必须手动进行100次;也从网上找到了可以直接随机100次的,但是没有计算模块化值,有同学可以帮忙吗

有之前同学构建的代码,但是只能手动进行100次:

##安装需要的包
install.packages("igraph")

#加载包
library(igraph)

########### the following objects are masked from "package:stats":decompose,spectrum ########### 

########### the following object is masked from "package:base":union ########### 

rayyan <- erdos.renyi.game(30,127, type="gnm",directed = FALSE)

#平均路径长度
average.path.length(rayyan)

#模块化
wtc <- cluster_walktrap(rayyan)
modularity(wtc)

#平均聚类系数
transitivity(rayyan)

还有从其他地方找到的可以直接进行100次模拟并计算的,但是没有写模块化值

#给定与上述网络相同数量的节点和边,模拟 1000 次 ER 随机网络,并计算随机网络有关的拓扑属性
clustering_coefficient_rand <- c()
average_path_length_rand <- c()
 
set.seed(123)
for (i in 1:1000) {
    #生成非含权的无向的 ER 随机网络,本示例中,给定节点数量 n=100,边数量 p=920
    g_rand <- erdos.renyi.game(n = nodes_num, p = edges_num, type = 'gnm', weight = FALSE, mode = 'undirected')
    
    #记录这 1000 个随机网络的聚类系数和平均路径长度
    clustering_coefficient_rand <- c(clustering_coefficient_rand, transitivity(g_rand))
    average_path_length_rand <- c(average_path_length_rand, average.path.length(g_rand, directed = FALSE))
}
 
mean(clustering_coefficient_rand)  #1000 个随机网络的聚类系数的均值
sd(clustering_coefficient_rand)  #1000 个随机网络的聚类系数的标准差
mean(average_path_length_rand)  #1000 个随机网络的平均路径长度的均值
sd(average_path_length_rand)  #1000 个随机网络的平均路径长度的标准差

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月26日
    • 创建了问题 11月18日

    悬赏问题

    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?
    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Bug traq 数据包 大概什么价
    • ¥15 在anaconda上pytorch和paddle paddle下载报错
    • ¥25 自动填写QQ腾讯文档收集表