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 튜토리얼 을 편리하게 보관하세요 .

R Shiny의 장점은 무엇입니까?

모든 데이터 과학자는 일반 대중 앞에서 데이터에서 통찰력을 이끌어내기 위해 특정 도구의 도움을 받아야 합니다. Shiny는 대화형 웹 애플리케이션 개발을 위해 R에서 사용할 수 있는 패키지입니다. 텍스트, 표, 시각화 또는 대화형 차트를 통해 결과를 전달할 수 있는 다양한 옵션이 있습니다. R 프로그래밍을 알면 Shiny가 사용하기 쉽기 때문에 쉽게 앱을 개발할 수 있습니다. 친구 및 동료와 작업을 쉽게 공유할 수 있는 기능이 내장되어 있습니다. Shiny 앱의 디자인은 매우 훌륭합니다. 기본 디스플레이를 보더라도 상당히 직관적이고 우아하다는 것을 알 수 있습니다.

Shiny는 기존 애플리케이션과 어떻게 다른가요?

날씨 응용 프로그램의 예를 통해 이것을 더 잘 이해할 수 있습니다. 사용자가 페이지를 다시 로드하거나 페이지의 작은 입력을 변경할 때마다 앱은 JS의 도움으로 전체 페이지를 업데이트해야 합니다. 이렇게 하면 업데이트를 처리하기 위해 서버 측에 많은 부하가 추가됩니다.

반면 Shiny는 서버 부하를 줄이는 앱 요소를 분리하거나 다시 로드합니다. 구조는 코드를 이해하고 디버깅하는 데 매우 중요한 역할을 합니다. 웹 응용 프로그램을 스크롤하는 것은 기존 응용 프로그램과 비교하여 Shiny 응용 프로그램에서 약간 어려운 것으로 나타났습니다.

R Shiny는 배우기 어렵나요?

Shiny 프레임워크는 대화형 웹 애플리케이션을 구축하는 데 유용한 R에서 사용할 수 있는 패키지입니다. 패키지는 사용 가능한 데이터 세트를 기반으로 매우 효과적인 시각화 및 보고서를 만들 수 있으므로 훌륭합니다. Shiny 요소를 사용하는 것 외에 HTML 요소를 사용하여 애플리케이션 콘텐츠를 사용자 정의할 수도 있습니다.

Shiny는 매우 강력한 도구이지만 R 프로그래밍을 알고 있으면 배우기가 매우 쉽다는 것을 알게 될 것입니다. 포트폴리오에 창의적인 것을 추가할 생각이라면 R Shiny를 배우는 것이 좋습니다.