始める無料で始める

身長をインチからセンチメートルに変換する

この章の前半では、アプリの停止・遅延・トリガーを練習しました。これは Shiny におけるとても一般的なプログラミングパターンで、アプリを高速化し(何かが更新され、かつユーザーがアプリの再実行を望むときにだけ)再実行されるようにできます。

この演習では、理解を確かなものにするために、これらの概念をもう一度練習します。BMI を計算する代わりに、このアプリは身長をインチからセンチメートルに変換します。

この演習はコースの一部です

Rで作るShiny Webアプリケーション

コースを見る

演習の手順

  • Server: ユーザーが『Show height in cm』ボタンをクリックするまで、身長(cm)の計算を実行しないように遅延させてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

ui <- fluidPage(
  titlePanel("Inches to Centimeters Conversion"),
  sidebarLayout(
    sidebarPanel(
      numericInput("height", "Height (in)", 60),
      actionButton("show_height_cm", "Show height in cm")
    ),
    mainPanel(
      textOutput("height_cm")
    )
  )
)

server <- function(input, output, session) {
  # MODIFY CODE BELOW: Delay the height calculation until
  # the show button is pressed
  rval_height_cm <- reactive({
    input$height * 2.54
  })
  
  output$height_cm <- renderText({
    height_cm <- rval_height_cm()
    	paste("Your height in centimeters is", height_cm, "cm")
    })
}

shinyApp(ui = ui, server = server)
コードを編集して実行