在編寫好一個(gè)Shiny應(yīng)用之后,如何讓其他人也能使用呢?有兩種比較常見的方法:
- 提供源代碼:將代碼通過郵件,網(wǎng)盤或者GitHub的形式進(jìn)行分享白热,適合一些比較小型的應(yīng)用,同時(shí)對(duì)使用者也有要求粗卜。
- 網(wǎng)頁(yè)工具:這是最最常見也是最友好的分享方式屋确,畢竟大部分只想要雞蛋,不需要知道雞下蛋的過程续扔,所以將的你應(yīng)用作為網(wǎng)頁(yè)進(jìn)行分享攻臀,大家只要點(diǎn)點(diǎn)點(diǎn)就行了。
這部分教程也講解如何將你寫的Shiny部署到shinyapps.io上纱昧。這個(gè)方法適合那些沒有自己服務(wù)器刨啸,或者沒有公網(wǎng)IP的用戶。唯一缺點(diǎn)就是shinyapps.io 服務(wù)器在國(guó)外识脆,所以他的訪問速度對(duì)于國(guó)內(nèi)用戶而言會(huì)有點(diǎn)慢设联。
第一步就是注冊(cè)一個(gè)shinyapps的賬號(hào)
注冊(cè)完之后會(huì)有一步填寫用戶名
進(jìn)入用戶頁(yè)面之后加匈,它非常友好的列出了部署的方法
Rstudio的圖形化部署
使用Rstudio進(jìn)行部署,第一次需要安裝部署所需要的包
隨后是配置賬號(hào)
當(dāng)配置結(jié)束后仑荐,重新點(diǎn)擊發(fā)布按鈕,會(huì)有如下界面
無論是那種方法纵东,都非常地方便粘招,然而你沒有一個(gè)shiny應(yīng)用可以部署。
注意事項(xiàng)
部署的最重要的是R包的安裝偎球,因?yàn)楹苡锌赡苣阌玫腞包在Shiny Server上可能沒有洒扎,所以會(huì)出現(xiàn)如下的提示
那如何讓Shiny在部署的時(shí)候能夠解決R包依賴問題呢?解決依賴的方式就是衰絮,在你代碼里用library
聲明你用的包袍冷,同時(shí)不要在你的app.R
或server.R
, ui.R
里出現(xiàn)install.packages()
.
更加重要的一點(diǎn): 請(qǐng)?jiān)诓渴鹬埃冗\(yùn)行options(encoding = "UTF-8")
, 避免app.R
, server.R
或ui.R
因出現(xiàn)中文導(dǎo)致它無非順利解析猫牡,最后運(yùn)行報(bào)錯(cuò)胡诗。
GitHub上的討論:https://github.com/rstudio/rsconnect/issues/123#issuecomment-260226956
傳送門
Shiny基礎(chǔ)教程: