시작하기무료로 시작하기

점 크기 변경: 숫자 입력

숫자 입력은 선택 가능한 최소값과 최댓값을 정하는 min, max처럼 텍스트 입력에는 없는 인수가 몇 가지 더 있습니다.

서버 코드에서 입력의 값을 가져올 때, Shiny는 어떤 종류의 입력이 사용되었는지 파악하고 적절한 타입의 객체를 반환합니다. 즉, ID가 "foo"인 숫자 입력이 있으면 input$foo는 숫자 값을 반환합니다.

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

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

강의 보기

연습 안내

이전 연습 문제의 Shiny 앱 코드가 제공되어 있습니다. 사용자가 그래프의 점 크기를 바꿀 수 있도록 숫자 입력을 추가하세요. 구체적으로는 다음을 수행합니다.

  • UI에 ID가 "size"이고 레이블이 "Point size"이며 기본값이 1, 최소값이 1인 숫자 입력을 추가하세요.
  • 서버 코드에 숫자 입력이 플롯의 점 크기를 결정하도록 하는 코드를 추가하세요(20행).

실습형 인터랙티브 연습

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

# Define UI for the application
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("title", "Title", "GDP vs life exp"),
      # Add a size numeric input
      ___
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    ggplot(gapminder, aes(gdpPercap, lifeExp)) +
      # Use the size input as the plot point size
      geom_point(size = ___) +
      scale_x_log10() +
      ggtitle(input$title)
  })
}

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