【发布时间】:2016-07-13 09:41:31
【问题描述】:
我有一个 440*2 的矩阵,如下所示:
1 144
1 152
1 135
2 3
2 12
2 107
2 31
3 4
3 147
3 0
4 end
4 0
4 0
5 6
5 7
5 10
5 9
左列是起点,例如在应用程序中,左侧的所有 1 都在同一页面上。它们导致三个选择,第 144,152,135 页。然后这些页面可以各自指向另一个页面,依此类推,直到右侧列显示“结束”。我想要的是一种可视化这棵树的规模的方法。我意识到考虑到 nb 行,它会非常大,所以可能对图形不友好,所以为了清楚起见,我想知道总共有多少条可能的路线(从每个起点,到它提供的每个选项以及每个选项的最终目的地. 我意识到会有重叠,但这就是为什么我觉得这很难计算)。
其次,每个数字都有一个关联的标题。我想要一个函数,如果你输入一个给定的标题,它将绘制所有可能的起点及其相关的路径。这应该小得多,因此图形友好。
例如
dta <- "
14 12 as
186 187 Frac
187 154 Low
23 52 Med
52 11 Lip
15 55 asd
11 42 AAA
42 154 BBB
154 end Coll"
编辑示例数据以显示某些分支未连接到所需的树
dta <- "
14 12 as
186 187 Frac
187 154 Low
23 52 Med
52 11 Lip
11 42 AAA
42 154 BBB
154 end Coll"
dta <- gsub(" ", ",", dta, fixed = TRUE)
dta <- gsub(" ", ",", dta, fixed = TRUE)
df <- read.csv(textConnection(dta), stringsAsFactors = FALSE, header = FALSE)
names(df) <- c("from", "to", "nme")
library(data.tree)
Warning message:
package ‘data.tree’ was built under R version 3.2.5
tree <- FromDataFrameNetwork(df)
**Error in FromDataFrameNetwork(df) :**
**Cannot find root name. network is not a tree!**
我做了这个例子来展示第 1 列如何导致第 2 列中的值,然后引用第 1 列中的值,直到你到达末尾。不同的起点最终会导致到达同一目的地的不同长度的路径。所以这看起来像:
所以在这里,我想看看你如何从所有起点走到“科尔”
非常感谢任何帮助
【问题讨论】:
-
我没有给你答案,但也许this 会有所帮助。
-
感谢蒂姆。但是 rpart 不是对数据进行分类而不是按原样绘制吗?或者如果没有,我该如何让它像我上面描述的那样绘制树?
-
rpart.plot 中的 prp() 可以给你一些想法。在函数中查找代码。
标签: r