Tipos de entrada

Construindo dashboards com shinydashboard

Png Kee Seng

Researcher

Funções de entrada

  • Na interface, usuários podem fornecer entradas
    • São como instruções para o garçom
  • Em uma shinyApp, as instruções são comunicadas pelo servidor
  • Isso é feito adicionando funções de entrada à UI
  • <type>input(<identifying label>, <displayed label>, ...)
    • O primeiro argumento é um rótulo de identificação
    • O segundo argumento é um rótulo exibido
    • Os demais argumentos são específicos do tipo de entrada
Construindo dashboards com shinydashboard

Um exemplo: estudo do sono

  • Imagine que fizemos um estudo do sono e coletamos dados
  • Quais entradas uma pessoa usuária de shinyApp pode fornecer?

Gráfico de um estudo do sono

1 Imagem por storyset no Freepik
Construindo dashboards com shinydashboard

selectInput

  • Um input comum é selectInput()
  • Ele cria um menu suspenso com várias opções
  • O terceiro argumento é um vetor com as opções possíveis
  • Neste exemplo, temos quatro opções
  • Por ora, deixe o servidor vazio
  • Vamos renderizar a shinyApp executando shinyApp()
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
    selectInput("selectlabel", 
                "Select an option",

choices = c("Option 1", "Option 2", "Option 3", "Option 4"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Construindo dashboards com shinydashboard

selectInput

selectInput com uma única seleção.

Construindo dashboards com shinydashboard

selectInput com várias seleções

  • Também podemos adicionar outro argumento chamado multiple
    ui <- fluidPage(
    titlePanel("Sleeping habits in America"), 
      selectInput("selectlabel", 
                  "Select an option",
                  choices = c("Option 1", "Option 2", "Option 3", "Option 4"),
                  multiple = TRUE))
    server <- function(input, output, session) {
    }
    shinyApp(ui, server)
    
Construindo dashboards com shinydashboard

selectInput com várias seleções

selectInput com várias seleções

Construindo dashboards com shinydashboard

textInput

  • Há outros dois argumentos importantes
    • value: o valor com que a caixa de texto vem preenchida
    • placeholder: uma prévia do que preencher na caixa de texto
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  textInput("textlabel", 
            "Tell me your name", 

value = "Birdie",
placeholder = "Don"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Construindo dashboards com shinydashboard

textInput

Demonstração de textInput

Construindo dashboards com shinydashboard

checkboxInput

  • Isso fornece uma única caixa de seleção no app
  • value: TRUE ou FALSE, para definir o estado inicial da caixa
  • Há também uma variação de checkboxInput, chamada checkboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Construindo dashboards com shinydashboard

checkboxInput

Demonstração de checkboxInput

Construindo dashboards com shinydashboard

sliderInput

  • Este controle produz um slider que permite duas coisas
    • Selecionar um único valor numérico de um intervalo
    • Selecionar dois valores numéricos de um intervalo
  • Para seleção única, defina min e max
  • O valor inicial é definido por value
  • O tamanho do passo é definido por step
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",

min = 7.5, max = 11,
value = 9,
step = 0.02))
server <- function(input, output, session) { } shinyApp(ui, server)
Construindo dashboards com shinydashboard

sliderInput

Demonstração de sliderInput. Usuário pode selecionar apenas um valor.

Construindo dashboards com shinydashboard

sliderInput com intervalos

  • O slider pode ser bilateral se value for um vetor de comprimento 2
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",
              min = 7.5,
              max = 11,

value = c(8, 10),
step = 0.02)) server <- function(input, output, session) { } shinyApp(ui, server)
Construindo dashboards com shinydashboard

sliderInput com intervalos

slider com intervalos

Construindo dashboards com shinydashboard

Vamos praticar!

Construindo dashboards com shinydashboard

Preparing Video For Download...