인치를 센티미터로 변환하기
이 장의 앞부분에서 앱을 멈추고, 지연시키고, 트리거하는 방법을 연습했어요. 이는 Shiny에서 아주 흔한 패턴으로, 업데이트가 있을 때에만 그리고 사용자가 앱을 다시 실행하길 원할 때에만 재실행되어 속도를 최적화할 수 있게 해줘요.
이번 연습 문제에서는 그런 개념을 다시 한번 연습해 보면서 제대로 이해했는지 확인할 거예요. BMI를 계산하는 대신, 이 앱은 인치 단위의 키를 센티미터로 변환해요.
이 연습은 강의의 일부입니다
R로 Shiny 웹 애플리케이션 만들기
연습 안내
- Server: 사용자가 'Show height in 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)