R shiny教程-7:共享Shiny app

创建一个 Shiny app之后,有时候需要共享给他人。

分享Shiny app,一般有两种途径:

  1. Share your Shiny app as R scripts.
    • 这是分享应用程序最简单的方式,但只有shiny用户在他们自己的电脑上有R(并且知道如何使用它),它才有效。用户可以使用这些脚本从他们自己的R会话启动应用程序。
  2. Share your Shiny app as a web page.
    • 用户最友好的分享应用程序的方式。用户可以通过网络浏览器浏览到shiny app。

#Share as R scripts

任何拥有R的人都可以运行Shiny app。只需要一份app.R文件的副本,以及任何在应用程序中使用的数据。

# install.packages("shiny")
library(shiny)
runApp("census-app")
Zipped folder

Shiny 有三个内建命令,使shiny app更容易在线托管:runUrl, runGitHub, 和runGist

##runUrl

runUrl将直接从weblink下载并启动一个shiny app。
runURL

  • 将你闪亮的应用程序的目录保存为zip文件
  • 在它自己的链接上的一个网页上保存该zip文件。
library(shiny)
runUrl( "<the weblink>")
runUrl('https://github.com/rstudio/shiny_example/archive/master.tar.gz')
runUrl

##runGitHub

如果没有自己的网页来存放文件,可以在www.github.com上免费存放。
其它shiny 用户可以直接运行github shiny app:

runGitHub( "<your repository name>", "<your user name>")
 runGitHub("shiny_example", "rstudio")
runGitHub

##runGist

如果你想通过匿名方式在网上发布文件,可以在gist.github.com上分享文件。你不需要注册一个GitHub账户就可以使用这项服务。

匿名分享:

  • 复制并粘贴app.R文件到gist网页。
  • 请注意GitHub提供的网址。

一旦匿名分享,用户可以启动runGist应用程序(“<gist number>”),其中“<gist number>”是出现在网址末尾的数字。

runGist("eb3470beb1c0252bd0289cbc89bcf36f")
runGist

#Share as a web page

以上所有方法都有相同的局限性。它们要求用户在计算机上安装R和Shiny。
RStudio提供了三种方式托管shiny apps的在线方式:

  1. shinyapps.io
  2. Shiny Server
  3. RStudio Connect

##Shinyapps.io

shinyapps.io是最方便的方式。
直接从R会话上传你的应用到RStudio托管的服务器上。开发者可以完全控制您的应用程序,包括服务器管理工具。

##Shiny Server

Shiny Server是免费的,开源的,可以从GitHub获得。
Shiny Server是一个服务器程序,Linux服务器可以运行一个Shiny app作为web页面。要使用Shiny服务器,你需要一个明确支持Ubuntu 12.04或更高版本(64位)和CentOS/RHEL 5(64位)的Linux服务器。如果您没有使用显式支持的发行版,您仍然可以通过从源代码构建它来使用Shiny Server。
可以在同一个Shiny 服务器托管多个shiny app,并且可以从防火墙后面部署这些应用程序。
Shiny Server初步了解,可以查看Shiny Server安装

##RStudio Connect

如果在盈利性的环境下使用Shiny,可能会想要提供服务器工具。

  • Password authentication
  • SSL support
  • Administrator tools
  • Priority support

RStudio Connect是RStudio一个全新发布的平台,可以实现团队合作开发;支持shiny app、R Markdown、交互式HTML控件、静态图等。

#总结

Shiny app 很容易分享; 可以通过几个R脚本来共享你的应用程序,或者通过自己的URL来共享一个功能完整的web应用程序。

  • 任何人都可以启动你的应用程序,只要他们有一份R, Shiny,和shiny app的副本。
  • runUrl, runGitHub, 和runGist使Shiny 共享和检索更方便。
  • 通过shinyapps.io共享,可以在自己的URL上shiny app变成一个实时的网络应用。
  • 可以使用一个个Linux服务器构建Shiny Server支持多个shiny app
  • 如果您需要更好地控制,或者希望管理大量的流量,您可以从RStudio购买RStudio Connect。

#原文

Share your apps

系列文章:
R shiny教程-1:一个 Shiny app的基本组成部分
R shiny教程-2:布局用户界面
R shiny教程-3:添加小部件到Shiny App
R shiny教程-4:Shiny app响应式结果展示
R shiny教程-5:调用R程序和导入数据
R shiny教程-6:使用响应表达式reactive()
Shiny Server安装

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342