Reacti v e e x pression refresher BU IL D IN G DASH BOAR D S W ITH - - PowerPoint PPT Presentation

reacti v e e x pression refresher
SMART_READER_LITE
LIVE PREVIEW

Reacti v e e x pression refresher BU IL D IN G DASH BOAR D S W ITH - - PowerPoint PPT Presentation

Reacti v e e x pression refresher BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D L u c y D ' Agostino McGo w an Postdoctoral fello w in Biostatistics at Johns Hopkins Uni v ersit y Inp u ts actionButton() checkboxInput() dateInput()


slide-1
SLIDE 1

Reactive expression refresher

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

Lucy D'Agostino McGowan

Postdoctoral fellow in Biostatistics at Johns Hopkins University

slide-2
SLIDE 2

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Inputs

actionButton() checkboxInput() dateInput() numericInput() radioButtons() selectInput() sliderInput() textInput()

slide-3
SLIDE 3

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Inputs

selectInput() inputId label choices selectInput( inputId = "favorite_character", label = "Favorite Character", choices = c("Leia", "Luke", "Han") )

slide-4
SLIDE 4

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Render functions

renderPrint() renderText() renderTable() renderDataTable() renderPlot() renderImage() renderUI()

slide-5
SLIDE 5

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Render Functions

server <- function(input, output) {

  • utput$printed_object <- renderPrint({

"print me" }) }

slide-6
SLIDE 6

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Output Functions

renderPrint() -- verbatimTextOutput() , textOutput() renderText() -- textOutput() renderTable() -- tableOutput() renderDataTable() -- dataTableOutput() renderPlot() -- plotOutput() renderImage() -- imageOutput() renderUI() -- uiOutput()

slide-7
SLIDE 7

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Output Functions

renderPrint() -- verbatimTextOutput() , textOutput() render Text () -- text Output() render Table () -- table Output() render DataTable () -- dataTable Output() render Plot () -- plot Output() render Image () -- image Output() render UI () -- ui Output()

slide-8
SLIDE 8

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Output Functions

textOutput()

  • utputId

textOutput("printed_object")

slide-9
SLIDE 9

Let's practice!

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

slide-10
SLIDE 10

Server-side dynamic how-to

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

Lucy D'Agostino McGowan

Postdoctoral fellow in Biostatistics at Johns Hopkins University

slide-11
SLIDE 11

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Read in real time data

server <- function(input, output, session) { reactive_data <- reactiveFileReader( intervalMillis = 1000, session = session, filePath = "file.csv", readFunc = read.csv ) }

slide-12
SLIDE 12

BUILDING DASHBOARDS WITH SHINYDASHBOARD

reactiveFileReader()

intervalMillis session filePath readFunc

server <- function(input, output, session) { reactive_data <- reactiveFileReader( intervalMillis = 1000, session = session, filePath = "file.csv", readFunc = read.csv ) }

slide-13
SLIDE 13

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Read in real time data

server <- function(input, output, session) { ...

  • utput$printed_data <- renderPrint({

reactive_data() }) }

slide-14
SLIDE 14

Let's build a dynamic dashboard!

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

slide-15
SLIDE 15

Optimizing performance

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

Lucy D'Agostino McGowan

Postdoctoral fellow in Biostatistics at Johns Hopkins University

slide-16
SLIDE 16

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Outside the server function

load("starwars.Rda") server <- function(input, output) { }

slide-17
SLIDE 17

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Inside the server function

server <- function(input, output) { load("starwars.Rda") }

slide-18
SLIDE 18

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Inside the server function, inside a reactive object

server <- function(input, output) {

  • utput$my_plot <- renderPlot({

load("starwars.Rda") starwars_sub <- starwars[starwars$height <= input$height, ] hist(starwars_sub$height) }) }

slide-19
SLIDE 19

May the force be with you!

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

slide-20
SLIDE 20

UI dynamic how-to

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D

Lucy D'Agostino McGowan

Postdoctoral fellow in Biostatistics at Johns Hopkins University

slide-21
SLIDE 21

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Dynamic Dropdown Menu

dropdownMenu( type = "messages", messageItem( from = "Lucy", message = "It's a TRAP!"), messageItem( from = "Lucy", message = "Help me, Data Camp, you're my only hope.") )

slide-22
SLIDE 22

BUILDING DASHBOARDS WITH SHINYDASHBOARD msg_df from message 1 Lucy It's a TRAP! 2 Lucy Help me, DataCamp, you're my only hope.

slide-23
SLIDE 23

BUILDING DASHBOARDS WITH SHINYDASHBOARD messages <- apply(data, 1, function(row) { messageItem(from = row[["from"]], message = row[["message"]]) }) dropdownMenu(type = "message", .list = messages)

slide-24
SLIDE 24

BUILDING DASHBOARDS WITH SHINYDASHBOARD

server <- function(input, output) {

  • utput$msg_menu <- renderMenu({

messages <- apply(data, 1, function(row) { messageItem(from = row[["from"]], message = row[["message"]]) }) dropdownMenu(type = "message", .list = messages) }) }

slide-25
SLIDE 25

BUILDING DASHBOARDS WITH SHINYDASHBOARD

header <- dashboardHeader(dropdownMenuOutput("msg_menu"))

slide-26
SLIDE 26

BUILDING DASHBOARDS WITH SHINYDASHBOARD

Dynamic boxes

renderInfoBox() -- infoBoxOutput() renderValueBox() -- valueBoxOutput()

slide-27
SLIDE 27

You give it a try!

BU IL D IN G DASH BOAR D S W ITH SH IN YDASH BOAR D