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 enteringversion
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
::install_github("plotly/dashR", ref="dev", upgrade = TRUE) devtools
Then, to load the packages in R:
library(dash)
That’s it!
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)
<- Dash$new() app
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.
dccGraph
library(dash)
# Create a Dash app
<- dash_app()
app
# Set the layout of the app
%>% set_layout(
app 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
%>% run_app() app