R中的iGraph——寻找满足给定边分数的邻域
是否有方法在邻域函数中应用限制: 仅获取通过给定边缘阈值连接的邻居?例如:R中的iGraph——寻找满足给定边分数的邻域,r,igraph,R,Igraph,是否有方法在邻域函数中应用限制: 仅获取通过给定边缘阈值连接的邻居?例如: 如果我想要边权重>=0.5的一阶邻居 我希望二阶中的所有邻居都与第一跳边权重==1和第二跳边权重==1相连 谢谢 如果我理解正确,那么您可以做的是将原始图子集,以限制权重 > library(igraph) > df <- data.frame( a = c("n1","n1","n1","n1","n2"), b = c("n2","n3","n4","n5","n3"),
谢谢 如果我理解正确,那么您可以做的是将原始图子集,以限制权重
> library(igraph)
> df <- data.frame(
a = c("n1","n1","n1","n1","n2"),
b = c("n2","n3","n4","n5","n3"),
w = c(-1,1,-1,1,-1))
> g <- graph.data.frame(df, directed=FALSE)
> plot(g, edge.label=E(g)$w)
[img #1]
# restrict graph to edges with value w being negative
> subg <- graph.neighborhood(
subgraph.edges(g, eids = which(E(g)$w < 0)),
order = 1)
> subg
[[1]]
IGRAPH UN-- 3 2 --
+ attr: name (v/c), w (e/n)
[[2]]
IGRAPH UN-- 3 2 --
+ attr: name (v/c), w (e/n)
[[3]]
IGRAPH UN-- 2 1 --
+ attr: name (v/c), w (e/n)
[[4]]
IGRAPH UN-- 2 1 --
+ attr: name (v/c), w (e/n)
> plot(subg[[1]], edge.label=E(subg[[1]])$w)
[img #2]
>库(igraph)
>df g图(g,边缘标签=E(g)$w)
[img#1]
#将图形限制为值为负的边
>subg subg
[[1]]
IGRAPH UN--3 2--
+属性:名称(v/c),w(e/n)
[[2]]
IGRAPH UN--3 2--
+属性:名称(v/c),w(e/n)
[[3]]
IGRAPH UN--2 1--
+属性:名称(v/c),w(e/n)
[[4]]
IGRAPH UN--2 1--
+属性:名称(v/c),w(e/n)
>绘图(子G[[1]],edge.label=E(子G[[1]])$w)
[img#2]
我会接受这一点,但我正在寻找一种解决方案,以避免限制整个图形的边;我认为有一种更快的方法,通过递归节点的邻域(例如,对于二阶边)