R-Shiny란?
shiny library는 같은 폴더에 존재하는 두 개의 스크립트 파일을 이용하여 만들어지는데 각각 server.R과 ui.R을 이용한다.
ui.R
사용자 인터페이스
화면 구성요소를 정의하는 부분으로, 유저로부터 입력값을 받을 input 항목과 결과를 표현할 output 항목을 어디에 위치시킬 지와 어떤 디자인으로 배치를 할지 등을 정할 수 있다.
즉, ui 소스 파일에서는 전체적인 ui레이아웃을 정한 뒤에 어떤 input을 받을 것이며 어떤 output을 보여줄 것인지를 정하게 된다.
server.R
서버 함수
실제 데이터를 다루고 계산이 이루어지는 부분으로, input 항목에서 받은 값을 어떻게 처리하여 어떤 output을 보여줄지를 정하는, 즉 어플의 실제 기능을 어떻게 구현할 것인지를 정하는 부분이다.
정리하자면 sever 소스 파일에서는 input 데이터들을 어떤 식으로 처리해서 어떤 값을 output 함수에 반환할 것인지를 정한다고 보면 된다.
ui.r Layout 종류
대표적으로 많이 쓰는 레이아웃은 사이드바 레이아웃이다. 왼쪽으로 사이드 패널이 있고 오른쪽에 메인 패널이 위치한 형태인데 보통 사이드바 패널에는 해당 샤이니 앱이 할 수 있는 동작 즉, 메뉴들을 위치시키고 그 메뉴의 무엇을 선택하느냐에 따라서 메인패널에서 그래프를 표시하는 등 그 실제 동작들을 보여주게 된다.
즉, 사이드바 패널에서는 사용자로부터 input을 받고 그 output을 메인패널에 표시하는 UI라고 할 수 있다.
ui 레이아웃 구성에는 전부 fluidpage 함수가 쓰였는데, 이 함수 말고 다른 함수를 이용해서 구성할 수도 있긴하지만 이 fluidpage 함수가 사용자의 웹 브라우저의 크기에 맞게 자동으로 디스플레이를 조정해주는 역할을 하기 때문에 보통 ui를 구성 할 때 이 함수를 많이 사용한다.
Input 함수의 종류
Output 함수의 종류