The customhtmlwidgets package provides a framework for easily creating R bindings to JavaScript libraries. Widgets created using the framework can be:
- Used at the R console for data analysis just like conventional R plots (via RStudio Viewer).
- Seamlessly embedded within R Markdown documents and Shiny web applications.
- Saved as standalone web pages for ad-hoc sharing via email, Dropbox, etc.
There are already several R packages based on customhtmlwidgets, including:
- leaflet -- Interactive maps with OpenStreetMap
- dygraphs --- Interactive time series visualization
- networkD3 --- Network visualization with D3
- sparkline --- Small inline charts
- DT --- Tabular data via DataTables
- rthreejs -- Interactive 3D graphics
The package was created in collaboration by Ramnath Vaidyanathan, Joe Cheng, JJ Allaire, Yihui Xie, and Kenton Russell. We've all spent countless hours building bindings between R and the web, and were motivated to create a framework that made this as easy as possible for all R developers.
If you know R and a bit of JavaScript it's very straightforward to create your own widgets. You can install the customhtmlwidgets package from CRAN:
install.packages("htmlwidgets")
You can alternatively install the development version of customhtmlwidgets from GitHub as follows:
devtools::install_github('ramnathv/htmlwidgets')
There are several articles on the htmlwidgets website that will help you get you off the ground quickly and take advantage of all of the capabilities of the framework: