【发布时间】:2014-09-10 05:37:58
【问题描述】:
我是 R 新手,我有一个图形对象,它是从数据框对象“allTog”创建的,如下所示:
library(igraph)
df.g <- graph.data.frame(d = allTog, directed = TRUE)
plot(df.g, vertex.label = V(df.g)$name)
allTog 数据框由下式给出
allTog <- data.frame(
source = c("chamber", "chamber", "chamber", "chamber", "chamber",
"check", "check", "issue", "issue", "issue"),
target = c("check", "issue", "leak", "process", "found", "power",
"customer", "customer", "wafer", "replaced")
)
“row.names”和“values”列在这里没有意义。
如何从每个根节点(在本例中为“chamber”)遍历每个叶节点并获取路径,即所有节点(顶点)名称?我正在寻找一个通用的解决方案,因为我的根节点可以随着代码的每次运行而改变。例如在下一次运行中,根节点可以是“问题”。
我想要的输出是:
chamber->check->power
chamber->issue->replaced
chamber->process
chamber->issue->customer
等等……
【问题讨论】:
-
目前还不清楚您希望输出是什么。你真的需要横向吗?您似乎不是在沿着收集任何信息的节点交谈。另外,您如何定义每个集群中的根节点?是只有传入链接的节点吗?总会有其中之一吗?我只是想确保我完全理解你的测试数据。因为您正在询问从每个叶子到每个根的路径,但现在这些都是一条边。
-
根节点由 Rshiny UI 中的用户下拉菜单定义。这就是为什么根节点可以改变的原因。永远只有一个根节点。例如:在另一个运行中,根节点可以是“wafer”。我也编辑了这个问题,也许这会更清楚。