r - igraph中多个有向图的分类
问题描述
我有一个来自定向网络的边缘列表列表
e_list=list(structure(list(nominator1 = structure(c(3L, 4L, 1L, 2L), .Label = c("Angela",
"Jeff", "Jim", "Pam"), class = "factor"), nominee1 = structure(c(1L,
2L, 3L, 2L), .Label = c("Andy", "Angela", "Jeff"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L)), structure(list(nominator2 = structure(c(4L, 1L, 2L, 3L
), .Label = c("Eric", "Jamie", "Oscar", "Tim"), class = "factor"),
nominee2 = structure(c(1L, 3L, 2L, 3L), .Label = c("Eric",
"Oscar", "Tim"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L)))
以及 2 个网络中每个人的属性数据框
attribute_df=structure(list(names = structure(c(6L, 7L, 5L, 2L, 1L, 8L, 3L,
4L), .Label = c("Andy", "Angela", "Eric", "Jamie", "Jeff", "Jim",
"Pam", "Tim"), class = "factor"), gender = structure(c(3L, 2L,
3L, 2L, 3L, 1L, 1L, 2L), .Label = c("", "F", "M"), class = "factor"),
happiness = c(8, 9, 4.5, 5.7, 5, 6, 7, 8)), class = "data.frame", row.names = c(NA,
-8L))
我将它们转换为igraph
对象
if(!require(igraph)) install.packages("igraph"); require(igraph)
graph_list<-lapply(name_of_edgelist_list, graph_from_data_frame)
我使用这个循环添加性别的属性
for(i in 1:length(graph_list)){
graph_list[[i]]=set_vertex_attr(graph_list[[i]],"gender", value=attribute_df$gender[match(V(graph_list[[i]])$name, attribute_df$names)])
}
以及图形对象的幸福属性
for(i in 1:length(graph_list)){
graph_list[[i]]=set_vertex_attr(graph_list[[i]],"happiness", value=attribute_df$happiness[match(V(graph_list[[i]])$name, attribute_df$names)])
}
当我尝试像这样衡量幸福的分类时
lapply(graph_list, function(x) assortativity(x, V(x)$happiness))
我得到第一个图的值,然后第二个图的分类只是“NA”
关于如何在这些有向图中测量分类性的任何想法?
解决方案
推荐阅读
- algorithm - 如何使用外部查询调用支持 CYPHER 投影的过程
- amazon-web-services - AWS:Classic Load Balancer www.example.com 未重定向到 https://www.example.com
- sql - 如何按主 ID 对查询中的行进行排序和分组
- git - 如何在 Flutter 和 Android Studio 中使用 git?
- reactjs - 如何在 Reactjs 中创建基于平均(十进制)的星级评分?
- c# - .NET CORE 会话滑动过期问题
- ssl - 无法让 mTLS 身份验证与 openssl 一起使用
- logout - 使用W20框架的断线问题
- presto - 扫描的 AWS Athena 查询数据和所用时间
- jquery - Github 将多个文件合并为单个压缩主文件