身長をインチからセンチメートルに変換する
この章の前半では、アプリの停止・遅延・トリガーを練習しました。これは 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)