在编写好一个Shiny应用之后,如何让其他人也能使用呢?有两种比较常见的方法:
- 提供源代码:将代码通过邮件,网盘或者GitHub的形式进行分享,适合一些比较小型的应用,同时对使用者也有要求。
- 网页工具:这是最最常见也是最友好的分享方式,毕竟大部分只想要鸡蛋,不需要知道鸡下蛋的过程,所以将的你应用作为网页进行分享,大家只要点点点就行了。
这部分教程也讲解如何将你写的Shiny部署到shinyapps.io上。这个方法适合那些没有自己服务器,或者没有公网IP的用户。唯一缺点就是shinyapps.io 服务器在国外,所以他的访问速度对于国内用户而言会有点慢。
第一步就是注册一个shinyapps的账号
注册完之后会有一步填写用户名
进入用户页面之后,它非常友好的列出了部署的方法
Rstudio的图形化部署
使用Rstudio进行部署,第一次需要安装部署所需要的包
随后是配置账号
当配置结束后,重新点击发布按钮,会有如下界面
无论是那种方法,都非常地方便,然而你没有一个shiny应用可以部署。
注意事项
部署的最重要的是R包的安装,因为很有可能你用的R包在Shiny Server上可能没有,所以会出现如下的提示
那如何让Shiny在部署的时候能够解决R包依赖问题呢?解决依赖的方式就是,在你代码里用library
声明你用的包,同时不要在你的app.R
或server.R
, ui.R
里出现install.packages()
.
更加重要的一点: 请在部署之前,先运行options(encoding = "UTF-8")
, 避免app.R
, server.R
或ui.R
因出现中文导致它无非顺利解析,最后运行报错。
GitHub上的讨论:https://github.com/rstudio/rsconnect/issues/123#issuecomment-260226956
传送门
Shiny基础教程: