MulaiMulai sekarang secara gratis

Tambahkan ekspresi reaktif lainnya

Sebuah ekspresi reaktif dapat memanggil ekspresi reaktif lainnya. Ini memungkinkan Anda memodularisasi komputasi dan memastikan bahwa komputasi TIDAK dieksekusi berulang kali. Menguasai penggunaan ekspresi reaktif adalah kunci untuk membangun aplikasi Shiny yang berkinerja baik.

Dalam latihan ini, Anda akan menggunakan ekspresi reaktif untuk menghitung status kesehatan berdasarkan BMI.

Latihan ini adalah bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

  • Tambahkan ekspresi reaktif rval_bmi_status untuk menghitung status BMI.
  • Gunakan ekspresi reaktif ini untuk menggantikan perhitungan status BMI di output.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

ui <- fluidPage(
  titlePanel('BMI Calculator'),
  sidebarLayout(
    sidebarPanel(
      numericInput('height', 'Enter your height in meters', 1.5, 1, 2),
      numericInput('weight', 'Enter your weight in Kilograms', 60, 45, 120)
    ),
    mainPanel(
      textOutput("bmi"),
      textOutput("bmi_status")
    )
  )
)

server <- function(input, output, session) {
  rval_bmi <- reactive({
    input$weight/(input$height^2)
  })
  # CODE BELOW: Add a reactive expression rval_bmi_status to 
  # return health status as underweight etc. based on inputs
  
  
  
  
  output$bmi <- renderText({
    bmi <- rval_bmi()
    paste("Your BMI is", round(bmi, 1))
  })
  output$bmi_status <- renderText({
    # MODIFY CODE BELOW: Replace right-hand-side with 
    # reactive expression rval_bmi_status
    bmi_status <- cut(rval_bmi(), 
      breaks = c(0, 18.5, 24.9, 29.9, 40),
      labels = c('underweight', 'healthy', 'overweight', 'obese')
    )
    paste("You are", bmi_status)
  })
}

shinyApp(ui = ui, server = server)
Edit dan Jalankan Kode