R shiny를 이용한 동적 시각화 연습

library(shiny)

#화면 로직 - 화면에 무엇을 보여주고 어떻게 배치 할 것인지?
ui <- fluidPage(
    sidebarLayout(
        #화면 좌측 패널
        sidebarPanel(
            #콤보박스 2개 추가
            selectInput(inputId="var_x", "Select a Variables of X :",
                        choices = c("year","lifeExp","pop","gdpPercap")
            ),
            selectInput(inputId="var_y","Select a Variables of Y :",
                        choices = c("year","lifeExp","pop","gdpPercap")
            )
        ),
        
        #화면 우측 패널 
        mainPanel(
            #그래프 출력 항목 추가
            plotOutput(outputId = "scatterPlot")
        )
    )
)

#서버 로직 - 화면에서 받은 입력으로 데이터를 어떻게 구성해서 반영할 것인가?
server <- function(input, output) {
    library(gapminder)

    
    #콤보박스의 입력값을 받아 gapminder의 산점도를 그려 결과를 지정한다. 
    output$scatterPlot <- renderPlot({
        plot(gapminder[ , c(input$var_x, input$var_y)])
    })
}

#Shiny 앱 실행
shinyApp(ui = ui, server = server)