Below are the solutions to these exercises on Shiny Application Layouts.
#################### # # # Exercise 1 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel()), column(4, wellPanel()), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) {} #################### # # # Exercise 2 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( )), column(4, wellPanel()), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({}) } #################### # # # Exercise 3 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text") )), column(4, wellPanel()), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l }) } #################### # # # Exercise 4 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel()), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v }) } #################### # # # Exercise 5 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text") )), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) }) } #################### # # # Exercise 6 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text"), sliderInput("labSlider", "Slider input:", min = 1, max = 31, value = 16) )), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) updateSliderInput(session, "labSlider", label = paste("Slider", label_c), value = value_c) }) } #################### # # # Exercise 7 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text"), sliderInput("labSlider", "Slider input:", min = 1, max = 31, value = 1), numericInput("labNumber", "Number input :", min = 1, max = 31, value = 16, step = 1) )), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) updateSliderInput(session, "labSlider", label = paste("Slider", label_c), value = value_c) updateNumericInput(session, "labNumber", label = paste("Number ", label_c), value = value_c, min = 1, max = 31, step = 1) }) } #################### # # # Exercise 8 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text"), sliderInput("labSlider", "Slider input:", min = 1, max = 31, value = 16), numericInput("labNumber", "Number input :", min = 1, max = 31, value = 16, step = 1), dateInput("labDate", "Date:") )), column(4, wellPanel()) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) updateSliderInput(session, "labSlider", label = paste("Slider", label_c), value = value_c) updateNumericInput(session, "labNumber", label = paste("Number ", label_c), value = value_c, min = 1, max = 31, step = 6) updateDateInput(session, "labDate", label = paste("Date", label_c), value = paste("2017-05-", value_c, sep="")) }) } #################### # # # Exercise 9 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text"), sliderInput("labSlider", "Slider input:", min = 1, max = 31, value = 16), numericInput("labNumber", "Number input :", min = 1, max = 31, value = 16, step = 1), dateInput("labDate", "Date:") )), column(4, wellPanel( )) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) updateSliderInput(session, "labSlider", label = paste("Slider", label_c), value = value_c) updateNumericInput(session, "labNumber", label = paste("Number ", label_c), value = value_c, min = 1, max = 31, step = 6) updateDateInput(session, "labDate", label = paste("Date", label_c), value = paste("2017-05-", value_c, sep="")) options <- list() options[[paste("option", value_c, "A")]] <- paste0("option-", value_c, "-A") options[[paste("option", value_c, "B")]] <- paste0("option-", value_c, "-B") options[[paste("option", value_c, "C")]] <- paste0("option-", value_c, "-C") }) } #################### # # # Exercise 10 # # # #################### #ui.R fluidPage( titlePanel("Updated Inputs"), fluidRow( column(4, wellPanel( textInput("c_l", "Label Controler", "Text"), sliderInput("c_v", "Value Controler:", min = 1, max = 31, value = 16) )), column(4, wellPanel( textInput("labText", "Text-Lab input:", value = "text"), sliderInput("labSlider", "Slider input:", min = 1, max = 31, value = 16), numericInput("labNumber", "Number input :", min = 1, max = 31, value = 16, step = 1), dateInput("labDate", "Date:") )), column(4, wellPanel( checkboxGroupInput("labCheckboxGroup", "Checkbox group input:", c("label 1" = "option1", "label 2" = "option2", "label 3" = "option3")) )) ) ) #server.R function(input, output, clientData, session) { observe({ label_c <- input$c_l value_c <- input$c_v updateTextInput(session, "labText", label = paste("Updated", label_c), value = paste("Updated", value_c) ) updateSliderInput(session, "labSlider", label = paste("Slider", label_c), value = value_c) updateNumericInput(session, "labNumber", label = paste("Number ", label_c), value = value_c, min = 1, max = 31, step = 6) updateDateInput(session, "labDate", label = paste("Date", label_c), value = paste("2017-05-", value_c, sep="")) options <- list() options[[paste("option", value_c, "A")]] <- paste0("option-", value_c, "-A") options[[paste("option", value_c, "B")]] <- paste0("option-", value_c, "-B") options[[paste("option", value_c, "C")]] <- paste0("option-", value_c, "-C") updateCheckboxGroupInput(session, "labCheckboxGroup", label = paste("checkboxgroup", label_c), choices = options, selected = paste0("option-", value_c, "-A") ) }) }
Leave a Reply