An Interface to the Dash Ecosystem for Authoring Reactive Web Applications

A framework for building analytical web applications, Dash offers a pleasant and productive development experience. No JavaScript required.


CircleCI GitHub CRAN status

Dash for R

Create beautiful, analytic web applications in R.

Documentation | Gallery

Installation

https://dash.plotly.com/r/installation

🛑 Make sure you're on at least version 3.0.2 of R. You can see what version of R you have by entering version in the R CLI. CRAN is the easiest place to download the latest R version.

As of 2020-06-04, dash and the currently released versions of all core component libraries are available for download via CRAN! Installing dash and its dependencies is as simple as

install.packages("dash")

Users who wish to install (stable) development versions of the package as well as Dash components from GitHub may instead use install_github and specify the development branch:

install.packages(c("fiery", "routr", "reqres", "htmltools", "base64enc", "plotly", "mime", "crayon", "devtools"))

# installs dash, which includes dashHtmlComponents, dashCoreComponents, and dashTable
# and will update the component libraries when a new package is released
devtools::install_github("plotly/dashR", ref="dev", upgrade = TRUE)

Then, to load the packages in R:

library(dash)

That's it!

Getting Started

https://dash.plotly.com/r/layout

The R package dash makes it easy to create reactive web applications powered by R. It provides an R6 class, named Dash, which may be initialized via the new() method.

library(dash)

app <- Dash$new()

Similar to Dash for Python and Dash for Julia, every Dash for R application needs a layout (i.e., user interface) and a collection of callback functions which define the updating logic to perform when input value(s) change. Take, for instance, this basic example of formatting a string:

library(dash)

dash_app() %>%
  set_layout(
    dccInput(id = "text", "sample"),
    div("CAPS: ", span(id = "out1")),
    div("small: ", span(id = "out2"))
  ) %>%
  add_callback(
    list(
      output("out1", "children"),
      output("out2", "children")
    ),
    input("text", "value"),
    function(text) {
      list(
        toupper(text),
        tolower(text)
      )
    }
  ) %>%
  run_app()

Here the showcase = TRUE argument opens a browser window and automatically loads the Dash app for you.

Hello world example using dccGraph

library(dash)

# Create a Dash app
app <- dash_app()

# Set the layout of the app
app %>% set_layout(
  h1('Hello Dash'),
  div("Dash: A web application framework for your data."),
  dccGraph(
    figure = list(
      data = list(
        list(
          x = list(1, 2, 3),
          y = list(4, 1, 2),
          type = 'bar',
          name = 'SF'
        ),
        list(
          x = list(1, 2, 3),
          y = list(2, 4, 5),
          type = 'bar',
          name = 'Montr\U{00E9}al'
        )
      ),
      layout = list(title = 'Dash Data Visualization')
    )
  )
)

# Run the app
app %>% run_app()

Screenshot of "Hello World" app

hello_dcc

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("dash")

0.9.4 by Hammad Khan, 4 years ago


https://github.com/plotly/dashR


Report a bug at https://github.com/plotly/dashR/issues


Browse source code at https://github.com/cran/dash


Authors: Chris Parmer [aut] , Ryan Patrick Kyle [aut] , Carson Sievert [aut] , Hammad Khan [aut, cre] , Plotly Technologies [cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports R6, fiery, routr, plotly, reqres, jsonlite, htmltools, assertthat, digest, base64enc, mime, crayon, brotli, glue, magrittr, methods, rlang, utils

Suggests testthat, rstudioapi


See at CRAN