I was reminded recently by an email of a function that I wrote a couple of year ago to convert a R table
to d3
nodes and links network. I thought this functionality might be helpful in d3r
, so I added d3_table()
. Hopefully, d3r
0.6.6 with d3_table()
hits CRAN tonight or tomorrow.
This quick example makes a d3
/networkD3
sankey and visNetwork
out of a table constructed from diamonds
.
# hopefully d3_table hits CRAN tonight
# devtools::install_github("timelyportfolio/d3r")
library(d3r)
library(pipeR)
library(networkD3)
library(visNetwork)
data(diamonds, package="ggplot2")
dia_tbl <- xtabs(~cut+clarity,diamonds)
d3_table(dia_tbl) %>>%
(sankeyNetwork(
Links = .$links
, Nodes = .$nodes
, Source= "source"
, Target = "target"
, Value = "value"
, NodeID = "name"
))
d3_table(dia_tbl) %>>%
(
visNetwork(
nodes = data.frame(
id = as.numeric(rownames(.$nodes))-1
,label = .$nodes$name
,value = .$nodes$value
)
,edges = data.frame(
from = .$links$source
,to = .$links$target
,value = .$links$value
)
)
)