How to Show/Set Row Names to Matrixinput (Shinyincubator)

R Shiny Make slider value dynamic

Hopefully this post will help someone learning Shiny:

The information in the answers is useful conceptually and mechanically, but doesn't help the overall question.

So the most useful feature I found in the UI API is conditionalPanel() here

This means I could create a slider function for each dataset loaded and get the max value by loading in the data initially in global.R. For those that don't know, objects loaded into global.R can be referenced from ui.R.

global.R - Loads in a ggplo2 method and test data objects (eset.spike & obatch)

source("profile_plot.R")
load("test.Rdata")

server.R -

library(shiny)
library(shinyIncubator)
shinyServer(function(input, output) {
values <- reactiveValues()

datasetInput <- reactive({
switch(input$dataset,
"Raw Data" = obatch,
"Normalised Data - Pre QC" = eset.spike)
})

sepInput <- reactive({
switch(input$sep,
"Yes" = TRUE,
"No" = FALSE)
})

rangeInput <- reactive({
df <- datasetInput()
values$range <- length(df[,1])
if(input$unit == "Percentile") {
values$first <- ceiling((values$range/100) * input$percentile[1])
values$last <- ceiling((values$range/100) * input$percentile[2])
} else {
values$first <- 1
values$last <- input$probes
}
})

plotInput <- reactive({
df <- datasetInput()
enable <- sepInput()
rangeInput()
p <- plot_profile(df[values$first:values$last,],
treatments=treatment,
sep=enable)
})

output$plot <- renderPlot({
print(plotInput())
})

output$downloadData <- downloadHandler(
filename = function() { paste(input$dataset, '_Data.csv', sep='') },
content = function(file) {
write.csv(datasetInput(), file)
}
)

output$downloadRangeData <- downloadHandler(
filename = function() { paste(input$dataset, '_', values$first, '_', values$last, '_Range.csv', sep='') },
content = function(file) {
write.csv(datasetInput()[values$first:values$last,], file)
}
)

output$downloadPlot <- downloadHandler(
filename = function() { paste(input$dataset, '_ProfilePlot.png', sep='') },
content = function(file) {
png(file)
print(plotInput())
dev.off()
}
)

})

ui.R

library(shiny)
library(shinyIncubator)

shinyUI(pageWithSidebar(
headerPanel('Profile Plot'),
sidebarPanel(
selectInput("dataset", "Choose a dataset:",
choices = c("Raw Data", "Normalised Data - Pre QC")),

selectInput("sep", "Separate by Treatment?:",
choices = c("Yes", "No")),

selectInput("unit", "Unit:",
choices = c("Percentile", "Absolute")),

wellPanel(
conditionalPanel(
condition = "input.unit == 'Percentile'",
sliderInput("percentile",
label = "Percentile Range:",
min = 1, max = 100, value = c(1, 5))
),

conditionalPanel(
condition = "input.unit == 'Absolute'",
conditionalPanel(
condition = "input.dataset == 'Normalised Data - Pre QC'",
sliderInput("probes",
"Probes:",
min = 1,
max = length(eset.spike[,1]),
value = 30)
),

conditionalPanel(
condition = "input.dataset == 'Raw Data'",
sliderInput("probes",
"Probes:",
min = 1,
max = length(obatch[,1]),
value = 30)
)
)
)
),

mainPanel(
plotOutput('plot'),
wellPanel(
downloadButton('downloadData', 'Download Data Set'),
downloadButton('downloadRangeData', 'Download Current Range'),
downloadButton('downloadPlot', 'Download Plot')
)
)
))

shiny app for twitter not functioning . Need help debugging

I have figured out what was causing those errors.
initially one had to use shinyincubator and the progress bars that came with it.
Now shiny has been updated and progress bars are now a part of it.

The withProgress() function was causing the bugs. By modifying it to the current syntax in shiny , the errors disappear.



Related Topics



Leave a reply



Submit