R的可折叠网络图
我试图在R的基础上实现可折叠网络more network layouts。但是,我总是得到Object not found
的错误。R的可折叠网络图
devtools::install_github
devtools::install_github("timelyportfolio/[email protected]/d3.chart.layout")
library(htmltools)
library(networkD3)
hc = hclust(dist(mtcars))
treeNetwork(
as.treeNetwork(hc, "mtcars")
)
tagList(
lapply(
c("tree.cartesian"
,"tree.radial"
,"cluster.cartesian"
,"cluster.radial"
)
,function(chartType){
hierNetwork(as.treeNetwork(hc), type=chartType, zoomable=T, collapsible=T)
}
)
)
tree.cartesian
编辑1
我们如何利用这些图表为边缘文件建立一个网络?例如:
From To
A B
A C
A D
D L
L J
J T
B O
是:
library(networkD3)
to <- c("a","a","a","d","l","j","b")
from <- c("b","c","d","l","j","t","o")
df <-data.frame(to,from)
simpleNetwork(df)
你应该使用官方networkD3包:
install.packages("networkD3")
但是这不会给我我正在寻找的可折叠网络.. – NinjaR
我不知道什么tree.cartesian
对象应该是在你的代码,但是您收到错误“找不到对象”,因为tree.cartesian
对象从未在您的代码中创建。
话虽如此,如果您从tagList
函数中删除您的lapply
命令,您的代码将工作。或者更简洁...
devtools::install_github("timelyportfolio/[email protected]/d3.chart.layout")
library(networkD3)
hc = hclust(dist(mtcars))
hierNetwork(as.treeNetwork(hc), type = 'tree.cartesian', zoomable = T, collapsible = T)
# or
hierNetwork(as.treeNetwork(hc), type = 'tree.radial', zoomable = T, collapsible = T)
# or
hierNetwork(as.treeNetwork(hc), type = 'cluster.cartesian', zoomable = T, collapsible = T)
# or
hierNetwork(as.treeNetwork(hc), type = 'cluster.radial', zoomable = T, collapsible = T)
只是要清楚,你正在使用networkD3,其中(据我所知)不再被开发的一个分支。目前有一些意向将此功能添加到官方的networkD3分支,但目前(v0.3.1),此功能(可折叠分支)当前不可用。
这是否回答你的问题? –
networkD3的当前官方开发版本(v0.4.9000截至2017.09.02)具有新功能treeNetwork
,可启用可折叠树。
devtools::install_github("christophergandrud/networkD3")
library(networkD3)
hc <- hclust(dist(mtcars))
treeNetwork(hc)
edges <- read.table(header = T, text = "
From To
NA A
A B
A C
A D
D L
L J
J T
B O
")
edges <- as_treenetdf(edges, cols = c(nodeId = "To", parentId = "From"))
treeNetwork(edges)
它还在开发中,所以我们将不胜感激feedback。
你在哪里得到“未找到对象”? – Marcelo
@Marcelo - 在控制台本身 – NinjaR
我的意思是询问代码的哪一行出现错误。 – Marcelo