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