Shiny은 즉석에서 생성 된 파일 다운로드를 제공 할 수있는 기능을 가지고 있어 데이터 내보내기 기능을 쉽게 구축 할 수 있습니다. 패키지의 다운로드를 더욱 쉽게 플로팅하기 위해 이 API를 사용하여 반짝이는 앱을 만들었습니다! CRAN의 모든 패키지를 입력하고 그래프를 통해 그래프로 표시할 시간을 선택하고 파일의 “MIME 유형”21을 입력합니다. 이것은 일반적으로 확장자에서 파생 되는 파일 형식의 형식적인 사양입니다. 샤이니 앱에서는 거의 필요하지 않습니다. 이 데이터 구조를 이해하는 가장 쉬운 방법은 간단한 앱을 만드는 것입니다. 기본적으로 RMarkdown은 현재 프로세스에서 보고서를 렌더링하므로 샤이니 앱(예: 로드된 패키지, 옵션 등)에서 많은 설정을 상속합니다. 더 큰 견고성을 위해 호출자 패키지를 사용하여 별도의 R 세션에서 render()를 실행하는 것이 좋습니다. 오픈 소스 Shiny Server는 단일 서버에서 여러 개의 Shiny 응용 프로그램을 호스팅할 수 있는 플랫폼을 제공하며, 각 응용 프로그램은 자체 URL 또는 포트를 제공합니다. Internet Explorer 10과 같은 웹소켓이 아닌 브라우저를 지원할 수 있으며 AGPLv3 라이선스로 사용할 수 있습니다. 일반적으로 필요한 두 개의 인수만 이 인수입니다.

선택적 contentType 인수가 있습니다. NA 또는 NULL인 경우 Shiny는 파일 이름을 기반으로 적절한 값을 추측하려고 시도합니다. 이 동작을 재정의하려면 고유한 콘텐츠 형식 문자열(예: “텍스트/일반”)을 제공합니다. 데이터를 다운로드할 뿐만 아니라 앱 사용자가 Shiny 앱에서 대화형 탐색 결과를 요약한 보고서를 다운로드하도록 할 수 있습니다. 동일한 정보를 다른 형식으로 표시해야 하기 때문에 이 작업은 꽤 많은 추가 작업이지만, 고위험 앱에는 매우 유용합니다. 크기: 파일 크기(바이트)입니다. 기본적으로 사용자는 최대 5MB의 파일만 업로드할 수 있습니다. 샤이니를 시작하기 전에 shiny.maxRequestSize 옵션을 설정하여 이 제한을 늘릴 수 있습니다.

예를 들어 최대 10MB 실행 옵션(shiny.maxRequestSize = 10 * 1024^2)을 허용합니다. Shiny Server를 다운로드하여 설치한 후에는 관리자 가이드를 통해 샤이니 서버 관리 및 구성에 대한 자세한 정보를 보거나 RStudio 커뮤니티에서 지원을 받을 수 있습니다. 콘텐츠는 파일을 저장하는 경로인 하나의 인수 파일이 있는 함수여야 합니다. 이 함수의 작업은 Shiny가 알고 있는 위치에 파일을 저장하여 사용자에게 보낼 수 있도록 하는 것입니다. 앱을 사용하는 방법을 더 쉽게 이해할 수 있도록 사이드바Layout()를 사용하여 앱을 세 가지 주요 단계로 나눕니다. 더 나은 방법은 목록을 미리 필터링하는 것이지만 이렇게 하면 유효성 검사()의 다른 응용 프로그램을 볼 수 있습니다. 다음은 이 기술을 자세히 설명하는 https://shiny.rstudio.com/articles/generating-reports.html 적용된 간단한 예제입니다. 핵심 아이디어는 downloadHander()의 콘텐츠 인수에서 rmarkdown::render()를 호출하는 것입니다.

다른 출력 형식을 생성하려면 에서 출력 형식을 변경하기만 하면 됩니다. Rmd를 사용하여 확장을 업데이트해야 합니다. 다음으로 파일 다운로드를 살펴보고 기본 UI 및 서버 구성 요소를 보여 주며 사용자가 데이터 또는 보고서를 다운로드할 수 있도록 하는 데 사용할 수 있는 방법을 살펴보겠습니다. 서버에서 fileInput()을 처리하는 것은 다른 입력보다 약간 더 복잡합니다. 대부분의 입력은 간단한 벡터를 사용하지만 input$file은 네 개의 열로 데이터 프레임을 반환합니다.