시작하기무료로 시작하기

반응형 컨텍스트

반응형 값은 Shiny에서만 사용하는 특별한 구조로, R 프로그래밍의 다른 곳에서는 볼 수 없습니다. 따라서 반응형 값은 임의의 R 코드에서 그냥 사용할 수 없고, 오직 반응형 컨텍스트 안에서만 접근할 수 있어요.

이 때문에 반응형 값에 의존하는 모든 변수는 반드시 reactive() 함수로 만들어야 하며, 그렇지 않으면 오류가 발생합니다. Shiny 서버 자체는 반응형 컨텍스트가 아니지만, reactive() 함수, observe() 함수, 그리고 모든 render*() 함수는 반응형 컨텍스트입니다.

이 연습은 강의의 일부입니다

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

강의 보기

연습 안내

두 개의 숫자 입력 num1num2, 그리고 텍스트 출력이 있는 Shiny 앱이 제공됩니다. 다음을 수행하세요.

  • my_sum이라는 반응형 변수에서 두 숫자 입력의 합을 계산하세요(10행).
  • my_average라는 반응형 변수에서 두 입력의 평균을 계산하세요(14행).
  • 텍스트 출력에서 반응형 변수를 사용해 계산된 평균을 표시하세요(23행).

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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)
코드 편집 및 실행