시작하기무료로 시작하기

부드러운 곡선 맞추기: 체크박스 입력

텍스트나 숫자 입력과 달리, 체크박스 입력의 값은 TRUE 또는 FALSE 두 가지뿐입니다. 사용자가 체크박스를 선택하면 값은 TRUE가 되고, 선택을 해제하면 FALSE가 됩니다.

checkboxInput() 함수의 value 매개변수는 초기값을 정하며, TRUE 또는 FALSE로만 설정할 수 있다는 점에 유의하세요.

이전 연습 문제의 Shiny 앱 코드를 일부 수정하여 제공합니다. 이제 renderPlot() 내부의 ggplot 그래프 객체를 변수 p에 할당합니다.

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

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

강의 보기

연습 안내

체크박스를 추가하여, 선택 시 플롯에 최적 적합선을 추가하도록 해보세요. 구체적으로는 다음을 수행하세요.

  • UI에 ID가 "fit"이고 라벨이 "Add line of best fit"이며 초기 상태가 선택 해제인 체크박스 입력을 추가하세요.
  • 서버에 코드를 추가하여 입력이 선택되면 플롯에 최적 적합선이 추가되도록 하세요. 최적 적합선을 추가하는 코드는 제공되어 있습니다(26행).

실습형 인터랙티브 연습

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

# Define UI for the application
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("title", "Title", "GDP vs life exp"),
      numericInput("size", "Point size", 1, 1),
      # Add a checkbox for line of best fit
      ___
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    p <- ggplot(gapminder, aes(gdpPercap, lifeExp)) +
      geom_point(size = input$size) +
      scale_x_log10() +
      ggtitle(input$title)
    
    # When the "fit" checkbox is checked, add a line
    # of best fit
    if (___) {
      p <- p + geom_smooth(method = "lm")
    }
    p
  })
}

# Run the application
shinyApp(ui = ui, server = server)
코드 편집 및 실행