首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用r i图计算子图的度

利用r i图计算子图的度
EN

Stack Overflow用户
提问于 2017-10-13 18:06:55
回答 1查看 847关注 0票数 2

我知道我的全局图的程度,但是现在我需要找到子图中节点的度。所以,约翰在他的学校里有四个朋友,但在他的班上有三个朋友。我该如何指导艾菲斯数他班的三个朋友,而不是他学校里的其他三个朋友?

我的全局图

代码语言:javascript
复制
library(igraph)
school <- read.table(text="
    A   B   C   D   E   F   G
A   0   1   0   1   0   1   1
B   1   0   1   1   0   1   0
C   0   0   0   0   0   0   1
D   1   1   0   0   1   0   0
E   0   0   0   1   0   1   1
F   0   1   0   0   1   0   1
G   1   0   1   0   1   1   0", header=TRUE)

mat <- as.matrix(school)
g <- graph.adjacency(mat, mode="undirected", add.rownames = T)

类P,Q和R的My隶属矩阵

代码语言:javascript
复制
x <- read.table(text="
                    P   Q   R
                A   1   1   0
                B   0   0   1
                C   0   0   0
                D   1   0   1
                E   1   1   0
                F   0   1   0
                G   1   1   1", header=TRUE)

inc <- as.matrix(x)
ginc <- graph.incidence(inc)

类的My子图

代码语言:javascript
复制
class_nodes <- names(which(inc[,"P"] == 1))
class_adj   <- mat[class_nodes, class_nodes]
class_graph <- graph.adjacency(class_adj, mode = "undirected")

我需要计算子图"class_graph“中节点的程度,但是只计算它们在子图中的联系,而不是全局图。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-13 19:14:22

您可以找到P类中的所有节点(我们专门提取名称,以便在不同的图形对象中查找它们)。

代码语言:javascript
复制
V(ginc)[.nei("P")]$name

然后,您就可以从主图中提取连接的子集。

代码语言:javascript
复制
subg <- induced.subgraph(g, V(ginc)[.nei("P")]$name)

可以计算出这些节点的程度。

代码语言:javascript
复制
degree(subg)
# A D E G 
# 2 2 2 2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46735702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档