我有一个像下面这样的数据集(这将是任意长度,但最后有一个计数列):
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
数据帧的最后一个向量汇总了树的不同分支,但是有可视化的漂亮图表。最后一个向量,因为我们可以有任意数量的级别。如果没有写出我自己的一组树算法,有没有人知道一条简单的前进道路?
图片图片:
答案 0 :(得分:1)
例如,使用igraph
包,您可以轻松完成工作。我更正了数据中的一些拼写错误并添加了新的边缘以获得更漂亮的图形。我的图表看起来像这样:
这是我的R代码:
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)