开始使用免费开始使用

将身高从英寸转换为厘米

在本章前面,您已经练习了停止、延迟和触发应用。这是 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)
编辑并运行代码