R Shiny 튜토리얼: R에서 대화형 웹 애플리케이션을 만드는 방법
게시 됨: 2020-03-16목차
소개
이 현대 기술 시대에는 피트니스 수준 추적, 수면 추적에서 주식 시장에 대한 최신 정보 제공에 이르기까지 다양한 앱을 사용할 수 있습니다. Robinhood, Google Fit 및 Workit과 같은 앱은 실시간 데이터와 통계를 사용하기 때문에 매우 유용해 보입니다. R이 통계 컴퓨팅 및 프로그래밍 분야의 선두주자이기 때문에 개발자는 앱을 빌드하는 데 R의 능력을 사용할 수 있는 시스템이 필요합니다. R 프로그래밍에 대해 자세히 알아보세요.
R Shiny가 하루를 구하러 오는 곳입니다. 이 R Shiny 튜토리얼에서는 기본 사항을 알게 될 것입니다.
R 샤이니란?
Shiny는 R 에서 대화형 웹 애플리케이션 을 빌드하기 위해 개발된 R 패키지입니다 . 이를 사용하여 R Shiny 코드와 함께 기본 HTML 및 CSS 코드를 활용하는 웹 애플리케이션을 만들 수 있습니다. 웹 사이트에서 데이터 시각화를 쉽게 만드는 독립 실행형 웹 앱을 구축할 수 있습니다. R Shiny를 통해 만들어진 이러한 애플리케이션은 테이블 및 플롯과 같은 R 개체를 원활하게 표시할 수 있습니다.
R Shiny의 몇 가지 기능을 살펴보겠습니다.
- JavaScript 없이 더 적은 수의 코드 라인으로 웹 애플리케이션을 빌드하십시오.
- 이러한 응용 프로그램은 라이브 상태이며 스프레드시트와 같은 사용자가 액세스할 수 있습니다. 사용자가 입력을 변경하면 출력이 실시간으로 변경될 수 있습니다.
- 웹 도구에 대한 지식이 거의 없는 개발자도 R Shiny를 사용하여 앱을 빌드할 수 있습니다.
- 테이블, R 개체 및 플롯의 출력을 표시하는 내장 위젯이 있습니다.
- 이 패키지를 사용하여 웹 애플리케이션에 라이브 시각화 및 보고서를 추가할 수 있습니다.
- 사용자 인터페이스는 R로 코딩하거나 HTML, CSS 또는 JavaScript를 사용하여 준비할 수 있습니다.
- 기본 사용자 인터페이스는 Bootstrap을 사용하여 구축됩니다.
- 웹 서버와 R 간의 빠른 통신을 가능하게 하는 WebSocket 패키지 와 함께 제공됩니다 .
읽기: R의 의사결정나무
R Shiny 앱의 구성요소
Shiny 앱에는 사용자 인터페이스 개체와 서버 기능이라는 두 가지 기본 구성 요소가 있습니다. 이것은 ShinyApp 메소드 에 전달된 인수 입니다. 이 메서드는 인수를 사용하여 응용 프로그램 개체를 만듭니다.
세계 최고의 대학에서 데이터 과학 을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
더 읽어보기: R의 KNN 알고리즘
R Shiny 앱 의 기본 부분에 대해 자세히 알아보겠습니다.
사용자 인터페이스 기능
이 함수는 웹 애플리케이션의 모양을 정의합니다. 사용자로부터 입력을 받아 화면에 표시하여 응용 프로그램을 대화형으로 만듭니다. HTML 및 CSS 태그를 사용하여 애플리케이션을 더 보기 좋게 만들 수 있습니다. 따라서 ui.R 파일을 빌드하는 동안 R 함수가 포함된 HTML 파일을 만듭니다.
R 콘솔에 fluidPage() 를 입력 하면 메서드가 <div class=”container-fluid”></div> 태그를 반환하는 것을 볼 수 있습니다.
다른 입력 기능은 다음과 같습니다.
- selectInput () – 이 메서드는 선택할 수 있는 다양한 선택 사항이 있는 드롭다운 HTML을 만드는 데 사용됩니다.
- numericInput () – 이 메서드는 텍스트나 숫자를 쓰기 위한 입력 영역을 만듭니다.
- radioButtons () – 사용자가 입력을 선택할 수 있는 라디오 버튼을 제공합니다.
레이아웃 방법
부트스트랩에서 사용할 수 있는 다양한 레이아웃 기능은 R Shiny로 구현됩니다. 구성 요소는 다음과 같습니다.
패널
이는 요소를 단일 패널로 그룹화하는 방법입니다. 여기에는 다음이 포함됩니다.
- 절대패널()
- 입력 패널()
- 조건부 패널()
- 헤더패널()
- 고정 패널()
레이아웃 기능
특정 레이아웃에 대한 패널을 구성합니다. 여기에는 다음이 포함됩니다.
- 유체 행()
- 수직 레이아웃()
- 플로우 레이아웃()
- 분할 레이아웃()
- 사이드바 레이아웃()
출력 방법
이러한 방법은 R 출력 구성 요소 이미지, 테이블 및 플롯을 표시하는 데 사용됩니다. 그들은:

- tableOutput() – 이 메서드는 R 테이블을 표시하는 데 사용됩니다.
- plotOutput() – 이 메서드는 R 플롯 객체를 표시하는 데 사용됩니다.
서버 기능
응용 프로그램의 모양과 사용자로부터 입력 값을 받는 방법을 만든 후에는 서버를 설정할 차례입니다. 서버 기능은 Shiny 앱에 대한 서버 측 코드를 작성하는 데 도움이 됩니다. 사용자 입력을 해당 출력에 매핑하는 함수를 생성할 수 있습니다. 이 함수는 응용 프로그램이 로드될 때 웹 브라우저에서 호출됩니다.
입력 및 출력 매개변수를 사용하며 반환 값은 무시됩니다. 이 메서드는 선택적 세션 매개변수도 사용합니다.
R Shiny 튜토리얼: R Shiny를 시작하는 방법?
R Shiny 패키지 작업을 시작하는 단계는 다음과 같습니다.
- R 콘솔로 이동하여 install.packages("shiny") 명령을 입력합니다.
- 이 패키지에는 Shiny의 작동 방식을 이해할 수 있는 11가지 내장 애플리케이션 예제가 포함되어 있습니다.
Hello Shiny 예제 부터 시작 하여 기본 구조를 이해할 수 있습니다. Hello Shiny를 실행하려면 다음 코드를 입력하세요.
도서관(빛나는)
runExample("01_hello")
새 Shiny 앱을 만드는 단계는 다음과 같습니다.
- RStudio 를 열고 파일 옵션으로 이동합니다.
- 디렉터리에서 새 프로젝트를 선택하고 "Shiny Web" 응용 프로그램을 클릭합니다.
- 입력에 대한 출력의 변화를 테스트하기 위한 히스토그램과 슬라이더가 표시됩니다.
- 애플리케이션 코딩 및 사용자 정의를 위한 두 개의 스크립트 ui.R 및 server.R을 받게 됩니다.
Shiny 앱 개발을 위한 팁
- 프로덕션을 위해 보내기 전에 브라우저에서 앱을 테스트하여 앱이 어떻게 보이는지 확인합니다.
- 앱을 디버깅하는 동안 전체 스크립트 실행
- 쉼표와 같은 일반적인 오류에 주의
결론
데이터 과학에 대해 자세히 알고 싶으시면 실무 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크샵, 업계 전문가와의 멘토링, 1:1을 제공하는 데이터 과학의 Executive PG 프로그램을 확인하십시오. 업계 멘토, 400시간 이상의 학습 및 최고의 기업에서의 취업 지원.
Shiny의 가장 좋은 점은 HTML, CSS 또는 JavaScript를 사용하기 위해 알 필요가 없다는 것입니다. 또한 응용 프로그램을 빌드하고 무료 버전의 shinyapps.io에 배포할 수 있습니다. 시작하는 동안 이 R Shiny 튜토리얼 을 편리하게 보관하세요 . 모든 데이터 과학자는 일반 대중 앞에서 데이터에서 통찰력을 이끌어내기 위해 특정 도구의 도움을 받아야 합니다. Shiny는 대화형 웹 애플리케이션 개발을 위해 R에서 사용할 수 있는 패키지입니다. 텍스트, 표, 시각화 또는 대화형 차트를 통해 결과를 전달할 수 있는 다양한 옵션이 있습니다. R 프로그래밍을 알면 Shiny가 사용하기 쉽기 때문에 쉽게 앱을 개발할 수 있습니다. 친구 및 동료와 작업을 쉽게 공유할 수 있는 기능이 내장되어 있습니다. Shiny 앱의 디자인은 매우 훌륭합니다. 기본 디스플레이를 보더라도 상당히 직관적이고 우아하다는 것을 알 수 있습니다. 날씨 응용 프로그램의 예를 통해 이것을 더 잘 이해할 수 있습니다. 사용자가 페이지를 다시 로드하거나 페이지의 작은 입력을 변경할 때마다 앱은 JS의 도움으로 전체 페이지를 업데이트해야 합니다. 이렇게 하면 업데이트를 처리하기 위해 서버 측에 많은 부하가 추가됩니다. Shiny 프레임워크는 대화형 웹 애플리케이션을 구축하는 데 유용한 R에서 사용할 수 있는 패키지입니다. 패키지는 사용 가능한 데이터 세트를 기반으로 매우 효과적인 시각화 및 보고서를 만들 수 있으므로 훌륭합니다. Shiny 요소를 사용하는 것 외에 HTML 요소를 사용하여 애플리케이션 콘텐츠를 사용자 정의할 수도 있습니다. R Shiny의 장점은 무엇입니까?
Shiny는 기존 애플리케이션과 어떻게 다른가요?
반면 Shiny는 서버 부하를 줄이는 앱 요소를 분리하거나 다시 로드합니다. 구조는 코드를 이해하고 디버깅하는 데 매우 중요한 역할을 합니다. 웹 응용 프로그램을 스크롤하는 것은 기존 응용 프로그램과 비교하여 Shiny 응용 프로그램에서 약간 어려운 것으로 나타났습니다. R Shiny는 배우기 어렵나요?
Shiny는 매우 강력한 도구이지만 R 프로그래밍을 알고 있으면 배우기가 매우 쉽다는 것을 알게 될 것입니다. 포트폴리오에 창의적인 것을 추가할 생각이라면 R Shiny를 배우는 것이 좋습니다.