在编写好一个Shiny应用之后,如何让其他人也能使用呢?有两种比较常见的方法:
- 提供源代码:将代码通过邮件,网盘或者GitHub的形式进行分享,适合一些比较小型的应用,同时对使用者也有要求。
- 网页工具:这是最最常见也是最友好的分享方式,毕竟大部分只想要鸡蛋,不需要知道鸡下蛋的过程,所以将的你应用作为网页进行分享,大家只要点点点就行了。
这部分教程也讲解如何将你写的Shiny部署到shinyapps.io上。这个方法适合那些没有自己服务器,或者没有公网IP的用户。唯一缺点就是shinyapps.io 服务器在国外,所以他的访问速度对于国内用户而言会有点慢。
第一步就是注册一个shinyapps的账号
![](https://img.haomeiwen.com/i2013053/ace8d5be65d1390c.png)
注册完之后会有一步填写用户名
![](https://img.haomeiwen.com/i2013053/96a6bcb1fba7cf36.png)
进入用户页面之后,它非常友好的列出了部署的方法
![](https://img.haomeiwen.com/i2013053/0c294beea93b2f25.png)
Rstudio的图形化部署
使用Rstudio进行部署,第一次需要安装部署所需要的包
![](https://img.haomeiwen.com/i2013053/27562ab7c6f62082.png)
![](https://img.haomeiwen.com/i2013053/f366f73b7bb6b191.png)
随后是配置账号
![](https://img.haomeiwen.com/i2013053/c998307c30137796.png)
当配置结束后,重新点击发布按钮,会有如下界面
![](https://img.haomeiwen.com/i2013053/30606b8de74079ad.png)
无论是那种方法,都非常地方便,然而你没有一个shiny应用可以部署。
注意事项
部署的最重要的是R包的安装,因为很有可能你用的R包在Shiny Server上可能没有,所以会出现如下的提示
![](https://img.haomeiwen.com/i2013053/7100bd7bdaa4a4e6.png)
那如何让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基础教程:
网友评论