Chapter 15 shinyapps
마크 다운에 이어서, R을 이용하여 결과물을 보여줄 때 많이 사용하는 프로그램은 샤이니 앱입니다. 샤이니 앱은 자체 tutorial이 너무 잘 되어 있어서 이를 보고 따라하는 것이 가장 도움이 될 것 같네요.
이번 시간에는 구조를 설명하는 것을 하고, 전반적인 것은 shinyapp 페이지를 이용하는 것으로 하겠습니다.
15.3 예제 1 만들기
15.3.1 구조
구조는 ui, sever로 구성됩니다. ui는 웹이 보여줄 부분, server는 그것이 작동하는 부분입니다. 아래와 같은 구조 입니다 .
이에 sidebarLayout을 그 안에 sidebarPanel과 mainPanel을 만듭니다. 이제 구조는 완성이 되었습니다.
15.3.2 input, output
input과 ouput을 만듭니다. input을 ui를 통해 받고 이를 server에 옮긴 후 ouput을 만들고, 다시 이를 ui에 output으로 보여주는 방식입니다. 우선 ui에 input을 만들겠습니다. 그래서 그래프를 그려 보도록 하겠습니다.
library(shiny)
ui <- fluidPage(
titlePanel("안녕하세요!"), # 여러분 이름 넣으세요
sidebarLayout(
sidebarPanel (
sliderInput( inputId = "bins", # server input$bins
label = "Number of bins",
min =1, max =50, value =30
)
),
mainPanel(
plotOutput(outputId = "disPlot")
)
)
)
server <- function(input, output){
output$disPlot <- renderPlot({
hist(faithful$waiting, breaks = input$bins)
})
}
shinyApp(ui = ui, server = server)
15.3.3 과제
sliderInput의 내용을 수정하여 동영상과 같은 app을 만드세요.