Week50 - summarytrees
December 16, 2015
Bleeding Edge - crosstalk
I feel obligated to mention this again. If you want to get a preview of the exciting changes for htmlwidgets
, be sure to check out htmlwidgets
issue 86. Thanks to Joe Cheng from RStudio for taking the lead on this.
We can see some early examples with plotly
from early adopter Andrew Clark @pssguy.
This Week’s Widget - summarytrees_htmlwidget
Kenneth Shirley and Howard Karloff authored an interesting paper.
(2013). Howard Karloff and Kenneth E. Shirley. “Maximum Entropy Summary Trees”, Computer Graphics Forum (Proc. EuroVis), Volume 32, Issue 3, Part 1, pp. 71-80.
Subsequently, Kenny made an R
package summarytrees
to create and visualize these summary trees. I learned about the R/d3.js combination after Kenny’s presentation at JSM 2015. Similar to the htmlwidget
conversions of stmBrowser
and stmCorrViz
, I thought summarytrees
would also be a great candidate for an htmlwidget
.
This is a work in progress. Please offer feedback and ideas on this Github issue.
Installation
This is not on CRAN and only exists in a summarytrees
fork, so to install we will need some help from devtools::install_github
.
devtools::install_github("timelyportfolio/summarytrees@htmlwidget")
Examples
# devtools::install_github("timelyportfolio/summarytrees@htmlwidget")
library(summarytrees)
data(dmoz)
#use example from vignette
K <- 100
g <- greedy(node = dmoz[, "node"],
parent = dmoz[, "parent"],
weight = dmoz[, "weight"],
label = dmoz[, "label"],
K = K)
# Prepare the summary trees for visualization:
json <- prepare.vis(tree.list = g$summary.trees,
labels = g$data[, "label"],
tree = g$tree,
legend.width = 150,
node.width = 225,
node.height = 14,
units = "# of URLs",
print.weights = TRUE,
legend.color = "lightsteelblue",
color.level = 3)
summarytrees_htmlwidget(json)
## [1] "Running order.nodes() function to prepare data"
## [1] " Computing node levels"
## [1] " Computing child indices for each parent"
## [1] "Running C function to compute summary trees"
## [1] "Computation finished; now formatting output"
Thanks
Thanks Kenneth Shirley for the research and implementation of summarytrees
.
As always, thanks to
- Ramnath Vaidyanathan and RStudio for
htmlwidgets
- all the contributors to
R
andJavaScript