MulaiMulai sekarang secara gratis

Konteks reaktif

Nilai reaktif adalah konstruk khusus di Shiny; konstruk ini tidak ditemukan di tempat lain dalam pemrograman R. Karena itu, nilai reaktif tidak dapat digunakan pada sembarang kode R; nilai reaktif hanya dapat diakses dalam konteks reaktif.

Inilah alasan mengapa setiap variabel yang bergantung pada nilai reaktif wajib dibuat menggunakan fungsi reactive(), jika tidak Anda akan mendapatkan galat. Server Shiny itu sendiri bukan konteks reaktif, tetapi fungsi reactive(), fungsi observe(), dan semua fungsi render*() adalah konteks reaktif.

Latihan ini adalah bagian dari kursus

Studi Kasus: Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

Anda disediakan sebuah aplikasi Shiny yang berisi dua numeric input, num1 dan num2, serta sebuah text output. Tugas Anda adalah:

  • Dalam variabel reaktif bernama my_sum, hitung jumlah dari dua numeric input tersebut (baris 10).
  • Dalam variabel reaktif bernama my_average, hitung rata-rata dari kedua input tersebut (baris 14).
  • Pada text output, tampilkan nilai rata-rata yang dihitung menggunakan variabel reaktif tersebut (baris 23).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

ui <- fluidPage(
  numericInput("num1", "Number 1", 5),
  numericInput("num2", "Number 2", 10),
  textOutput("result")
)

server <- function(input, output) {
  # Calculate the sum of the inputs
  my_sum <- reactive({
    input$num1 + ___
  })

  # Calculate the average of the inputs
  my_average <- ___({
    my_sum() / 2
  })
  
  output$result <- renderText({
    paste(
      # Print the calculated sum
      "The sum is", my_sum(),
      # Print the calculated average
      "and the average is", ___
    )
  })
}

shinyApp(ui, server)
Edit dan Jalankan Kode