Spreadsheets =(
“Can you make me this plot? Ok now this plot? Wait one more plot…”
learnr
)# what you see, client side
ui <- fluidPage(
)
# computations here!
server <- function(input, output) {
}
# run the app!
shinyApp(ui = ui, server = server)
# what you see, client side
ui <- fluidPage(
# Title, panels
plotOutput("myplot"), #from output$myplot
selectInput("foo",choices=allthechoices)
)
# computations here!
server <- function(input, output) {
}
# run the app!
shinyApp(ui = ui, server = server)
# what you see, client side
ui <- fluidPage(
# Title, panels
plotOutput("myplot"), #from output$myplot
selectInput("foo",choices=allthechoices)
)
# computations here!
server <- function(input, output) {
# reactive plots
output$myplot <- renderPlot({ ggplot(yay) + geom_point() })
# use input$foo here, maybe observe changes in UI
observe({ dostuff(input$foo) })
}
# run the app!
shinyApp(ui = ui, server = server)
Shiny Transcriptome Analysis Resource Tool
Github: https://github.com/jminnier/STARTapp
DATA = RNA-seq gene expression
Example: START app
Data is larger than they are used to + Cannot query or share results easily
Interactive search boxes/filtering + Reactive visualization
Many possible ways to analyze data:
QA/QC
Present QA plots up front
QA/QC
Present QA plots up front
Bonus: Jasmine Dumas has a shinyLP
package to help!
No one will use it if they don’t know how to use it!
Tauno Metsalu and Jaak Vilo: “Clustvis”
Tauno Metsalu and Jaak Vilo: “Clustvis”
Debugging is notoriously a pain here
Good luck with that.
Breakpoints and tracing:
browser()
- I didn’t say it was funprint()
- every single function/observe statement gets a printrunApp(..., display.mode="showcase")
But, doesn’t show why something broke.
Contact: @ datapointier
Github: https://github.com/jminnier/STARTapp
Slides available at http://bit.ly/shiny-ddtx
Code for slides available at https://github.com/jminnier/presentation_austin_dataday2018