看了幾天Rshiny的邏輯和語法有點發(fā)膩,抽點時間研究了一下如何在云端部署自己的app。
然后本地服務(wù)器的話稍微復雜一點,才知道shiny不支持mac端的直接部署。哎,以后再花篇幅整理吧。當然AWS和阿里云也是可以實現(xiàn)的,操作方法雖然有點不一樣。
注冊賬號以后進入自己的dashboard。然后查看自己的密鑰,也就是Tokens

點擊Copy to clipboard復制黏貼token。

接下來是在本地Rstudio操作。
需要用到rsconnect包用來連接云端服務(wù)器。
install.packages('rsconnect')
然后運行剛才復制黏貼的那一段token
rsconnect::setAccountInfo(name='xxxx',
token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
secret='<SECRET>')
接下來是在工作文件夾里準備兩個文件,ui.R和server.R
舉個之前教程里出現(xiàn)過的例子吧
- ui.R
library(shiny)
library(shinyvalidate)
ui <- fluidPage(
numericInput("x","x",value=0),
selectInput("trans","transformation",
choices = c("square","log","square-root")
),
textOutput("out")
)
- server.R
server <- function(input,output,session) {
output$out <- renderText({
if (input$x<0 && input$trans %in% c("log","square-root")) {
validate("x cannot be negative for this transformation")
}
switch(input$trans,
square = input$x ^2,
"square-root" = sqrt(input$x),
log=log(input$x))
})
}
測試App
library(shiny)
runApp()
測試沒有問題以后,點擊右上角的publish就大功告成了。

可以在云端的dashborad看到自己創(chuàng)建的app的運行情況。只需要復制黏貼這個app的網(wǎng)址,就可以在手機平板電腦隨時隨地運行了。

運行情況也是一目了然。
