将身高从英寸转换为厘米
在本章前面,您已经练习了停止、延迟和触发应用。这是 Shiny 编程中非常常见的一种模式,可以让您的应用在需要时才重新运行,从而优化速度(仅当某些内容更新,并且用户希望重新运行应用时才会触发)。
在本练习中,您将再次练习这些概念,以确保真正掌握。这个应用不再计算 BMI,而是将英寸单位的身高转换为厘米。
本练习是课程的一部分
使用 R 构建 Shiny Web 应用
练习说明
- Server:将"显示厘米身高"按钮被点击之前,对厘米身高的计算进行延迟执行。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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)