入力の種類

shinydashboard で作るダッシュボード

Png Kee Seng

Researcher

入力関数

  • UI では、ユーザーが入力を行います
    • 給仕への指示のようなものです
  • shinyApp では、その指示はサーバーを通じて伝達されます
  • そのために UI に入力関数を追加します
  • <type>input(<識別ラベル>, <表示ラベル>, ...)
    • 第1引数は識別ラベル
    • 第2引数は表示ラベル
    • 以降は入力タイプ固有の引数
shinydashboard で作るダッシュボード

例: 睡眠調査

  • ある睡眠調査を実施し、データを集めたとします
  • shinyApp のユーザーはどんな入力ができますか?

睡眠調査の図

1 Image by storyset on Freepik
shinydashboard で作るダッシュボード

selectInput

  • よく使われる入力は selectInput() です
  • 多くの選択肢を持つドロップダウンを作成します
  • 第3引数は選択肢のベクトルです
  • この例では4つの選択肢があります
  • ここではサーバーは空のままにします
  • 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)
shinydashboard で作るダッシュボード

selectInput

単一選択の selectInput。

shinydashboard で作るダッシュボード

複数選択の selectInput

  • 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)
    
shinydashboard で作るダッシュボード

複数選択の selectInput

複数選択の selectInput

shinydashboard で作るダッシュボード

textInput

  • 重要な引数がもう2つあります
    • value: テキストボックスの初期値
    • placeholder: 入力例のプレースホルダー
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)
shinydashboard で作るダッシュボード

textInput

textInput のデモ

shinydashboard で作るダッシュボード

checkboxInput

  • アプリに単一のチェックボックスを提供します
  • value: 初期状態を切り替える TRUE/FALSE
  • checkboxInput には checkboxGroupInput という変種もあります
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
shinydashboard で作るダッシュボード

checkboxInput

checkboxInput のデモ

shinydashboard で作るダッシュボード

sliderInput

  • ユーザーが次のいずれかを行えるスライダーを生成します
    • 範囲から単一の数値を選択
    • 範囲から2つの数値を選択
  • 単一値には min と max を設定
  • 初期値は value
  • 刻み幅は 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)
shinydashboard で作るダッシュボード

sliderInput

sliderInput のデモ。単一値を選択可能。

shinydashboard で作るダッシュボード

範囲付き sliderInput

  • value を長さ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)
shinydashboard で作るダッシュボード

範囲付き sliderInput

範囲付きスライダー

shinydashboard で作るダッシュボード

練習しましょう!

shinydashboard で作るダッシュボード

Preparing Video For Download...