shiny v1.4.0
Monthly downloads
Web Application Framework for R
Makes it incredibly easy to build interactive web
applications with R. Automatic "reactive" binding between inputs and
outputs and extensive prebuilt widgets make it possible to build
beautiful, responsive, and powerful applications with minimal effort.
Readme
Shiny
Shiny is a new package from RStudio that makes it incredibly easy to build interactive web applications with R.
For an introduction and examples, visit the Shiny Dev Center.
If you have general questions about using Shiny, please use the RStudio Community website. For bug reports, please use the issue tracker.
Features
- Build useful web applications with only a few lines of code—no JavaScript required.
- Shiny applications are automatically "live" in the same way that spreadsheets are live. Outputs change instantly as users modify inputs, without requiring a reload of the browser.
- Shiny user interfaces can be built entirely using R, or can be written directly in HTML, CSS, and JavaScript for more flexibility.
- Works in any R environment (Console R, Rgui for Windows or Mac, ESS, StatET, RStudio, etc.).
- Attractive default UI theme based on Bootstrap.
- A highly customizable slider widget with built-in support for animation.
- Prebuilt output widgets for displaying plots, tables, and printed output of R objects.
- Fast bidirectional communication between the web browser and R using the httpuv package.
- Uses a reactive programming model that eliminates messy event handling code, so you can focus on the code that really matters.
- Develop and redistribute your own Shiny widgets that other developers can easily drop into their own applications (coming soon!).
Installation
To install the stable version from CRAN, simply run the following from an R console:
install.packages("shiny")
To install the latest development builds directly from GitHub, run this instead:
if (!require("devtools"))
install.packages("devtools")
devtools::install_github("rstudio/shiny")
Getting Started
To learn more we highly recommend you check out the Shiny Tutorial. The tutorial explains the framework in-depth, walks you through building a simple application, and includes extensive annotated examples.
Bootstrap 3 migration
Shiny versions 0.10.2.2 and below used the Bootstrap 2 web framework. After 0.10.2.2, Shiny switched to Bootstrap 3. For most users, the upgrade should be seamless. However, if you have have customized your HTML-generating code to use features specific to Bootstrap 2, you may need to update your code to work with Bootstrap 3.
If you do not wish to update your code at this time, you can use the shinybootstrap2 package for backward compatibility.
If you prefer to install an older version of Shiny, you can do it using the devtools package:
devtools::install_version("shiny", version = "0.10.2.2")
Development notes
The Javascript code in Shiny is minified using tools that run on Node.js. See the tools/ directory for more information.
Guidelines for contributing
We welcome contributions to the shiny package. Please see our CONTRIBUTING.md file for detailed guidelines of how to contribute.
License
The shiny package as a whole is licensed under the GPLv3. See the LICENSE file for more details.
Functions in shiny
Name | Description | |
callModule | Invoke a Shiny module | |
createRenderFunction | Implement render functions | |
createWebDependency | Create a web dependency | |
downloadButton | Create a download button or link | |
domains | Reactive domains | |
dateInput | Create date input | |
brushedPoints | Find rows of data that are selected by a brush | |
builder | HTML Builder Functions | |
column | Create a column within a UI definition | |
dateRangeInput | Create date range input | |
NS | Namespaced IDs for inputs/outputs | |
conditionalPanel | Conditional Panel | |
freezeReactiveVal | Freeze a reactive value | |
getCurrentOutputInfo | Get information about the output that is currently being executed. | |
exportTestValues | Register expressions for export in test mode | |
knitr_methods | Knitr S3 methods | |
loadSupport | Load an app's supporting R files | |
isRunning | Check whether a Shiny application is running | |
icon | Create an icon | |
include | Include Content From a File | |
exprToFunction | Convert an expression to a function | |
isolate | Create a non-reactive scope for an expression | |
parseQueryString | Parse a GET query string from a URL | |
downloadHandler | File Downloads | |
checkboxGroupInput | Checkbox Group Input Control | |
deprecatedReactives | Deprecated reactive functions | |
enableBookmarking | Enable bookmarking for a Shiny application | |
passwordInput | Create a password input control | |
reactivePoll | Reactive polling | |
renderDataTable | Table output with the JavaScript library DataTables | |
reactiveFileReader | Reactive file reader | |
clickOpts | Create an object representing click options | |
checkboxInput | Checkbox Input Control | |
helpText | Create a help text element | |
fluidPage | Create a page with fluid layout | |
flowLayout | Flow layout | |
diskCache | Create a disk cache object | |
hoverOpts | Create an object representing hover options | |
htmlOutput | Create an HTML output element | |
req | Check for required values | |
renderImage | Image file output | |
addResourcePath | Resource Publishing | |
setSerializer | Add a function for serializing an input before bookmarking application state | |
htmlTemplate | Process an HTML template | |
numericInput | Create a numeric input control | |
radioButtons | Create radio buttons | |
observe | Create a reactive observer | |
reactive | Create a reactive expression | |
dblclickOpts | Create an object representing double-click options | |
insertUI | Insert UI objects | |
renderPlot | Plot Output | |
fileInput | File Upload Control | |
fillPage | Create a page that fills the window | |
shiny-package | Web Application Framework for R | |
getQueryString | Get the query string / hash component from the URL | |
installExprFunction | Install an expression as a function | |
modalDialog | Create a modal dialog UI | |
renderPrint | Printable Output | |
invalidateLater | Scheduled Invalidation | |
textOutput | Create a text output element | |
titlePanel | Create a panel containing an application title. | |
varSelectInput | Select variables from a data frame | |
updateSliderInput | Update Slider Input Widget | |
stopApp | Stop the currently running Shiny app | |
stacktrace | Stack trace manipulation functions | |
updateSelectInput | Change the value of a select input on the client | |
navbarPage | Create a page with a top level navigation bar | |
repeatable | Make a random number generator repeatable | |
renderUI | UI Output | |
onFlush | Add callbacks for Shiny session events | |
inputPanel | Input panel | |
fillRow | Flex Box-based row/column layouts | |
debounce | Slow down a reactive expression with debounce/throttle | |
fixedPage | Create a page with a fixed layout | |
insertTab | Dynamically insert/remove a tabPanel | |
headerPanel | Create a header panel | |
makeReactiveBinding | Make a reactive variable | |
session | Session object | |
onStop | Run code after an application or session ends | |
registerInputHandler | Register an Input Handler | |
setBookmarkExclude | Exclude inputs from bookmarking | |
navlistPanel | Create a navigation list panel | |
shinyDeprecated | Print message for deprecated functions in Shiny | |
getShinyOption | Get or set Shiny options | |
runApp | Run Shiny Application | |
removeInputHandler | Deregister an Input Handler | |
restoreInput | Restore an input value | |
plotOutput | Create an plot or image output element | |
is.reactivevalues | Checks whether an object is a reactivevalues object | |
plotPNG | Run a plotting function and save the output as a PNG | |
markRenderFunction | Mark a function as a render function | |
maskReactiveContext | Evaluate an expression without a reactive context | |
markOutputAttrs | Mark a render function with attributes that will be used by the output | |
modalButton | Create a button for a modal dialog | |
onBookmark | Add callbacks for Shiny session bookmarking events | |
sidebarLayout | Layout a sidebar and main area | |
memoryCache | Create a memory cache object | |
observeEvent | Event handler | |
singleton | Include content only once | |
snapshotExclude | Mark an output to be excluded from test snapshots | |
nearPoints | Find rows of data that are near a click/hover/double-click | |
outputOptions | Set options for an output object. | |
reactlog | Reactive Log Visualizer | |
verbatimTextOutput | Create a verbatim text output element | |
runUrl | Run a Shiny application from a URL | |
reactiveValues | Create an object for storing reactive values | |
renderText | Text Output | |
safeError | Declare an error safe for the user to see | |
reactiveValuesToList | Convert a reactivevalues object to a list | |
renderTable | Table Output | |
showBookmarkUrlModal | Display a modal dialog for bookmarking | |
showModal | Show or remove a modal dialog | |
tabsetPanel | Create a tabset panel | |
tag | HTML Tag Object | |
runExample | Run Shiny Example Applications | |
runGadget | Run a gadget | |
shiny.appobj | Shiny App object | |
reexports | Objects exported from other packages | |
shinyApp | Create a Shiny app object | |
suppressDependencies | Suppress web dependencies | |
sizeGrowthRatio | Create a sizing function that grows at a given ratio | |
submitButton | Create a submit button | |
sliderInput | Slider Input Widget | |
showNotification | Show or remove a notification | |
showTab | Dynamically hide/show a tabPanel | |
snapshotPreprocessInput | Add a function for preprocessing an input before taking a test snapshot | |
splitLayout | Split layout | |
snapshotPreprocessOutput | Add a function for preprocessing an output before taking a test snapshot | |
wellPanel | Create a well panel | |
updateTabsetPanel | Change the selected tab on the client | |
updateTextAreaInput | Change the value of a textarea input on the client | |
withMathJax | Load the MathJax library and typeset math expressions | |
pageWithSidebar | Create a page with a sidebar | |
reactiveTimer | Timer | |
updateCheckboxInput | Change the value of a checkbox input on the client | |
textAreaInput | Create a textarea input control | |
updateRadioButtons | Change the value of a radio input on the client | |
updateQueryString | Update URL in browser's location bar | |
reactiveVal | Create a (single) reactive value | |
removeUI | Remove UI objects | |
textInput | Create a text input control | |
updateTextInput | Change the value of a text input on the client | |
updateDateInput | Change the value of a date input on the client | |
withProgress | Reporting progress (functional API) | |
urlModal | Generate a modal dialog that displays a URL | |
updateNumericInput | Change the value of a number input on the client | |
updateDateRangeInput | Change the start and end values of a date range input on the client | |
withTags | Evaluate an expression using tags | |
viewer | Viewer options | |
verticalLayout | Lay out UI elements vertically | |
validate | Validate input values and other conditions | |
validateCssUnit | Validate proper CSS formatting of a unit | |
shinyServer | Define Server Functionality | |
selectInput | Create a select list input control | |
tabPanel | Create a tab panel | |
serverInfo | Collect information about the Shiny Server environment | |
renderCachedPlot | Plot output with cached images | |
shinyUI | Create a Shiny UI handler | |
tableOutput | Create a table output element | |
updateActionButton | Change the label or icon of an action button on the client | |
updateCheckboxGroupInput | Change the value of a checkbox group input on the client | |
bootstrapLib | Bootstrap libraries | |
applyInputHandlers | Apply input handlers to raw input values | |
bootstrapPage | Create a Bootstrap page | |
bookmarkButton | Create a button for bookmarking/sharing | |
Progress | Reporting progress (object-oriented API) | |
actionButton | Action button/link | |
HTML | Mark Characters as HTML | |
brushOpts | Create an object representing brushing options | |
absolutePanel | Panel with absolute positioning | |
No Results! |
Last month downloads
Details
Type | Package |
License | GPL-3 | file LICENSE |
URL | http://shiny.rstudio.com |
BugReports | https://github.com/rstudio/shiny/issues |
Collate | 'app.R' 'bookmark-state-local.R' 'stack.R' 'bookmark-state.R' 'bootstrap-deprecated.R' 'bootstrap-layout.R' 'globals.R' 'conditions.R' 'map.R' 'utils.R' 'bootstrap.R' 'cache-context.R' 'cache-disk.R' 'cache-memory.R' 'cache-utils.R' 'diagnose.R' 'fileupload.R' 'font-awesome.R' 'graph.R' 'reactives.R' 'reactive-domains.R' 'history.R' 'hooks.R' 'html-deps.R' 'htmltools.R' 'image-interact-opts.R' 'image-interact.R' 'imageutils.R' 'input-action.R' 'input-checkbox.R' 'input-checkboxgroup.R' 'input-date.R' 'input-daterange.R' 'input-file.R' 'input-numeric.R' 'input-password.R' 'input-radiobuttons.R' 'input-select.R' 'input-slider.R' 'input-submit.R' 'input-text.R' 'input-textarea.R' 'input-utils.R' 'insert-tab.R' 'insert-ui.R' 'jqueryui.R' 'middleware-shiny.R' 'middleware.R' 'modal.R' 'modules.R' 'notifications.R' 'priorityqueue.R' 'progress.R' 'react.R' 'render-cached-plot.R' 'render-plot.R' 'render-table.R' 'run-url.R' 'serializers.R' 'server-input-handlers.R' 'server.R' 'shiny-options.R' 'shiny.R' 'shinyui.R' 'shinywrappers.R' 'showcase.R' 'snapshot.R' 'tar.R' 'test-export.R' 'timer.R' 'update-input.R' |
RoxygenNote | 6.1.1 |
Encoding | UTF-8 |
NeedsCompilation | no |
Packaged | 2019-10-08 16:21:27 UTC; winston |
Repository | CRAN |
Date/Publication | 2019-10-10 12:50:02 UTC |
Include our badge in your README
[](http://www.rdocumentation.org/packages/shiny)