价值链的简单树网络

时间:2014-03-26 11:20:52

标签: graph igraph

我目前在将数据框放入树形图时遇到了麻烦。

我的数据框看起来像:

  sp.    one.     two. three.   four. 
1   a       b       c       d       d   
2   e       f       cc      g       d   
3   h       b       cc      d       d   
4   j       k       cc      l       d   
5   m       n       cc      d       d   

您能帮助我将这个数据框合并到树形网络中的最简单方法吗?我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你无法将它绘制成树,因为它不是树。如果您真的想要树形,那么您可以计算最小生成树,计算其上的树布局,然后将这些坐标与原始图形一起使用。

这里我们只用一般布局绘制它。

dftext <- "  sp.    one.     two. three.   four.
          1   a       b       c       d       d
          2   e       f       cc      g       d
          3   h       b       cc      d       d
          4   j       k       cc      l       d
          5   m       n       cc      d       d
"
df <- read.table(text=dftext, stringsAsFactors=FALSE)

library(igraph)
vert <- sort(unique(unlist(df)))
g <- graph.empty(n=length(vert))
V(g)$name <- vert
for (i in 1:nrow(df)) {
    g <- g + path(as.character(df[i,]))
}

lay <- layout.reingold.tilford(simplify(g), root="d")
plot(g, layout=lay)

plot