R shiny 云端部署App

看了几天Rshiny的逻辑和语法有点发腻,抽点时间研究了一下如何在云端部署自己的app。

然后本地服务器的话稍微复杂一点,才知道shiny不支持mac端的直接部署。哎,以后再花篇幅整理吧。当然AWS和阿里云也是可以实现的,操作方法虽然有点不一样。

shinyapps.io

注册账号以后进入自己的dashboard。然后查看自己的密钥,也就是Tokens

点击Copy to clipboard复制黏贴token。

接下来是在本地Rstudio操作。

需要用到rsconnect包用来连接云端服务器。

install.packages('rsconnect')

然后运行刚才复制黏贴的那一段token

rsconnect::setAccountInfo(name='xxxx',
              token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
              secret='')

接下来是在工作文件夹里准备两个文件,ui.R和server.R

举个之前教程里出现过的例子吧

  • 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看到自己创建的app的运行情况。只需要复制黏贴这个app的网址,就可以在手机平板电脑随时随地运行了。

运行情况也是一目了然。

你可能感兴趣的:(R shiny 云端部署App)