입력과 출력

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

Dean Attali

Shiny Consultant

입력

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

입력

chapter1_2_inputs_and_outputs.005.png

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

입력

chapter1_2_inputs_and_outputs.006.png

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

입력 만들기

ui <- fluidPage(
    textInput(inputId = "name", label = "Enter your name",
              value = "Dean"),
    numericInput(inputId = "sibs", label = "How many siblings?",
                 value = 4, min = 0)
)
  • 입력 함수: *Input(inputId, label, ...)
  • inputId = 고유 ID
  • label = 입력 설명 텍스트
  • ... = 입력별 추가 매개변수
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

출력

  • 플롯, 표, 텍스트 등 R이 만들고 사용자가 보는 모든 것
  • 두 단계:

    1. 출력 자리표시자 만들기(UI)

      ui <- fluidPage(
       "Plot goes here:",
       plotOutput(outputId = "my_plot")
      )
      
    2. 서버에서 출력을 생성하는 R 코드 작성

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

서버

server <- function(input, output) {

  # Code for building outputs

}
  • input
    • 여기서 값을 읽음(사용자가 바꾸는 입력)
  • output
    • 여기에 값을 씀(예: 플롯, 표 등 출력)
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

출력 만들기

ui <- fluidPage(
    numericInput("num", "Number of rows", value = 10, min = 0),
    tableOutput("my_table")
)

server <- function(input, output) { output$my_table <- renderTable({ head(iris, n = input$num) }) }
  • 출력 객체를 만드는 3가지 규칙:
    1. 렌더 함수 안에서 객체 생성 (renderPlot(), renderText() 등)
    2. 객체를 output$<outputId>에 저장
    3. 입력 값은 input$<inputId>로 접근
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

연습해 봅시다!

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

Preparing Video For Download...