3

我有一个如下所示的数据集(这将是任意长度,但最后有一个计数列):

dd <- data.frame(
   "level1" = c("a", "a", "b"),
   "level2" = c("c", "d", "c"),
   "cnt" = c(1, 3, 5)
)

而且我想打印出这种结构的漂亮树,而无需大量工作:)。已经尝试进行排序,并查看边界条件以输出数据。

理想情况下,从上面的数据来看,树结构将如下所示:

level1     level2
a: 4  ---> c: 1
      ---> d: 3
b: 5  ---> c: 5

数据框的最后一个向量汇总了树的不同分支,但带有用于可视化的漂亮图表。最后一个向量,因为我们可以有任意数量的级别。有没有人知道一个简单的前进道路而不写出我自己的一套树算法?

图表图像: 在此处输入图像描述

4

1 回答 1

1

Using igraph package for example, you can get with little work. I corrected some typo in your data and add a new edge to get prettier graph. My graph look like this one:

enter image description here

And here my R code:

 actors <- data.frame(name=c('a','b','c','d'))
relations <- data.frame(from=c("a", "a", "b",'c'),
                        to=c("c", "b", "c",'d'),
                        weight=c(1, 3, 5,4))
g <- graph.data.frame(relations, directed=TRUE, 
                      vertices=actors)

E(g)$label=E(g)$weight
E(g)$label.cex=3
plot(g,edge.width=E(g)$weight,layout=layout.fruchterman.reingold)
于 2013-06-27T00:59:40.003 回答