如何从R中的igraph对象获取树?

缺口

我有一个随机的有向加权图gg,它具有下一个结构:

gg <-
structure(list(10, TRUE, c(0, 0, 1, 2, 2, 5, 5, 6, 6, 6, 6, 9,
9, 9, 9, 9), c(6, 9, 3, 0, 5, 3, 7, 1, 3, 5, 8, 2, 4, 6, 7, 8
), c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), c(3,
7, 11, 2, 5, 8, 12, 4, 9, 0, 13, 6, 14, 10, 15, 1), c(0, 2, 3,
5, 5, 5, 7, 11, 11, 11, 16), c(0, 1, 2, 3, 6, 7, 9, 11, 13, 15,
16), list(c(1, 0, 1), structure(list(), .Names = character(0)),
    structure(list(name = c("C", "D", "I", "J", "K", "N", "O",
    "Q", "S", "T"), color = c("yellow", "red", "red", "red",
    "red", "red", "green", "red", "red", "green")), .Names = c("name",
    "color")), structure(list(weight = c(0.5, 0.5, 1, 0.333333333333333,
    0.333333333333333, 0.333333333333333, 0.333333333333333,
    0.25, 0.25, 0.25, 0.25, 0.2, 0.2, 0.2, 0.2, 0.2)), .Names = "weight")),
    <environment>), class = "igraph")

我需要找到从根(黄色节点)到叶子(红色节点)的所有游走路线。由(a)边缘方向和(b)距离-从根到叶的距离定义的叶子应该只有两个边缘。

在我的情况下,根为C,叶子应为D, J, N, S, I, K, Q我试图仅定义(a)条件。

root <- "C"
leaves = which(degree(gg, v = V(gg), mode = "out")==0, useNames = T)
leaves 
# J K Q S 
# 4 5 8 9 
plot(gg, layout = layout.reingold.tilford(gg, root=root),
        edge.arrow.size=0.2, edge.curved=T,
        edge.label = round(E(gg)$weight,2))

在此处输入图片说明

问题如何定义(b)条件并添加到叶子集D, N, I, K节点?

这是一种实现方法:用于shortest_paths获取与根节点恰好是两个边的所有顶点。

two.edges.from.root = unlist(sapply(shortest_paths(gg,
                                                   from = as.numeric(V(gg)["C"]),
                                                   mode = "out")$vpath,
                                    function(x) { if(length(x) == 3) { x[3] } }))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

来自分类Dev

如何获取R中的rpart(CART)决策树的属性?

来自分类Dev

如何从R中的范围对象获取坐标?

来自分类Dev

在R中,如何基于多个属性得分从igraph对象生成子图?

来自分类Dev

在Boost R树中存储或访问对象

来自分类Dev

获取模型视图对象树中每个对象的属性

来自分类Dev

获取对象树的路径

来自分类Dev

如何从NLTK树中获取令牌?

来自分类Dev

无法知道如何从树中获取价值

来自分类Dev

如何在字典中的igraph对象中添加边

来自分类Dev

如何在R中的调用函数环境中获取对象?

来自分类Dev

R中的igraph对象“ N”是什么意思?

来自分类Dev

从 R 中的 igraph 对象列表创建纵向数据

来自分类Dev

如何从R中的merMod对象获取潜在特征得分?

来自分类Dev

在R中的多系统对象中绘制所有树

来自分类Dev

在Shiny中获取R对象

来自分类Dev

从嵌套对象树获取路径

来自分类Dev

R从对象列表中获取对象的名称

来自分类Dev

从树中获取节点

来自分类Dev

如何通过nltk python中的标签获取树中的节点?

来自分类Dev

如何通过nltk python中的标签获取树中的节点?

来自分类Dev

如何从BlockingQueue中获取对象?

来自分类Dev

如何获取联接中的对象?

来自分类Dev

如何获取对象中的键

来自分类Dev

如何从函数中获取对象

来自分类Dev

如何从对象数组中获取关闭对象?

来自分类Dev

如何在igraph R中创建自环?

来自分类Dev

如何在R中存储图形(来自igraph包)?

来自分类Dev

如何在igraph中为R置换网络?