Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ui:
- library(shiny)
- shinyUI((fluidPage(
- titlePanel("hirearchy data group"),
- sidebarLayout
- (
- sidebarPanel
- (
- selectInput("brand",label="choice the brand",choices=c("all","w","s")),
- sliderInput("amount",label="choice the amount",min=range(df$amount)[1],max=range(df$amount)[2],value=0)
- ),
- mainPanel
- (
- dataTableOutput("table")
- )
- ))))
- server:
- library(shiny)
- ## test dataframe
- df <- data.frame(id = c("1","1","1","1","1","1","2","2","2","2"),
- brand = c("w","w","w","s","s","s","w","w","w","s"),
- model = c("w123","w123","w456","s99","s88","s88","w123","w456","w456","s99"),
- amount = c(10,9,7,8,6,4,7,3,2,1))
- df$id=as.character(df$id)
- df$brand=as.character(df$brand)
- df$model=as.character(df$model)
- shinyServer(function(input, output, session) {
- output$table <- renderDataTable({
- if(input$brand!="all") {df=df[which(df$brand==input$brand),]}
- if(input$amount!=0) {df=df[which(df$amount==input$amount),]}
- df
- })
- amount=observe(
- {
- input$brand
- if (input$brand=="all"){val=range(df$amount)}
- else if (input$brand=="w"){val=range(df$amount[df$brand==input$brand])}
- else if (input$brand=="s"){val=range(df$amount[df$brand==input$brand])}
- updateSliderInput(session,"amount",min=val[1],max=val[2],value=val[1])
- }
- )
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement