我有一个类似以下的数据集(它将具有任意长度,但是末尾有一个count列):
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
数据帧的最后一个向量在哪里总结了树的不同分支,但具有漂亮的图表以进行可视化。最后一个向量,因为我们可以有任意多个级别。没有人知道自己不需编写自己的树算法集的简单方法吗?
图的图像:
最佳答案
例如,使用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)
关于r - 从R中的数据轻松打印漂亮的树形图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17332592/