首页 > 解决方案 > 我的闪亮应用程序无法在闪亮的 io 服务器上正确部署

问题描述

请我尝试部署我的应用程序,该应用程序在 R Studio 中运行良好,但在shiny.io. 下面是我要部署的应用程序 梅维斯分析

但这是我在浏览器中看到的,部署后

无标题应用

我在 R Studio 中进行了诊断,但在生成的日志中找不到任何内容。下面是:

----- Deployment log started at  2020-05-10 23:51:26  -----
Deploy command: 
 rsconnect::deployApp(appDir = "~/mavisanalytics", appFileManifest = "C:/Users/Idiaye/AppData/Local/Temp/ef3a-83e6-a7aa-4236",      appPrimaryDoc = "mavisanalytics.R", account = "mavisnaissanceconsulting",      server = "shinyapps.io", appName = "mavisanalytic", appTitle = "mavisanalytic",      launch.browser = function(url) {         message("Deployment completed: ", url)     }, lint = FALSE, metadata = list(asMultiple = FALSE, asStatic = FALSE),      logLevel = "verbose") 

Session information: 
R version 3.6.0 (2019-04-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8.1 x64 (build 9600)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252 
[2] LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.0   rsconnect_0.8.16
Cookies: 
[1] "None"
GET /v1/applications/?filter=account_id:143204&filter=name:mavisanalytic&count=100&offset=0 1390ms
----- Bundle upload started at  2020-05-10 23:51:28  -----
[2020-05-10 23:51:28] Inferring App mode and parameters 
[2020-05-10 23:51:28] Bundling app dir 
[2020-05-10 23:51:29] Generate manifest.json 
[2020-05-10 23:54:09] Writing Rmd index if necessary 
[2020-05-10 23:54:09] Compressing the bundle 
POST /v1/bundles 1370ms
[2020-05-10 23:54:14] Starting upload now 
PUT /bundles/application-2275278/689e8c37f6f44015b1666fa66760b5b3.tar.gz?AWSAccessKeyId=ASIA54P7SCTKREC5WZV3&x-amz-acl=bucket-owner-full-control&Expires=1589154867&content-md5=XsmlS3ExioMdAhqFDdJESA%3D%3D&x-amz-security-token=IQoJb3JpZ2luX2VjENL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCICKXX2TaFDiqdrRKgsAqldR7%2FiZ2fzYqscA%2BlfJzfHJ0AiEAi9htV1hdEze6kBuHvpbhl0gsyRv2ZEKxEbYBUn80%2FjwqtAMIGxAAGgw5NTQ1NTU1NjkzNjUiDGDy1aBPrmatUSEpOiqRA2uAfFt1xtFrgxv8TiCmPKb5jSignature=BSEK9pBg7SDBnvqzXrbH8He0dm4%3D&content-type=application%2Fx-tar 79750ms
[2020-05-10 23:55:33] Upload complete 
POST /v1/bundles/3129156/status 1949ms
GET /v1/bundles/3129156 1129ms
[2020-05-10 23:55:37] Saving deployment record for mavisanalytic -  
----- Server deployment started at  2020-05-10 23:55:37  -----
POST /v1/applications/2275278/deploy 1219ms
Waiting for task: 729282360
GET /v1/tasks/729282360 1350ms
  building: Parsing manifest
GET /v1/tasks/729282360 1189ms
  building: Building image: 3492511
GET /v1/tasks/729282360 1300ms
  building: Installing system dependencies
GET /v1/tasks/729282360 1149ms
GET /v1/tasks/729282360 1220ms
  building: Fetching packages
GET /v1/tasks/729282360 1420ms
  building: Installing packages
GET /v1/tasks/729282360 1310ms
GET /v1/tasks/729282360 1340ms
GET /v1/tasks/729282360 1349ms
GET /v1/tasks/729282360 1279ms
GET /v1/tasks/729282360 1360ms
GET /v1/tasks/729282360 1379ms
GET /v1/tasks/729282360 1139ms
GET /v1/tasks/729282360 1200ms
GET /v1/tasks/729282360 1159ms
GET /v1/tasks/729282360 1170ms
GET /v1/tasks/729282360 1149ms
GET /v1/tasks/729282360 1250ms
GET /v1/tasks/729282360 1269ms
GET /v1/tasks/729282360 1250ms
GET /v1/tasks/729282360 1189ms
  building: Installing files
GET /v1/tasks/729282360 1259ms
GET /v1/tasks/729282360 1209ms
  building: Pushing image: 3492511
GET /v1/tasks/729282360 1139ms
GET /v1/tasks/729282360 1290ms
GET /v1/tasks/729282360 1160ms
GET /v1/tasks/729282360 1670ms
GET /v1/tasks/729282360 1230ms
GET /v1/tasks/729282360 1180ms
GET /v1/tasks/729282360 1129ms
GET /v1/tasks/729282360 1359ms
GET /v1/tasks/729282360 1199ms
GET /v1/tasks/729282360 1209ms
GET /v1/tasks/729282360 1189ms
  deploying: Starting instances
GET /v1/tasks/729282360 1280ms
  rollforward: Activating new instances
GET /v1/tasks/729282360 1180ms
  success: Stopping old instances
----- Deployment log finished at  2020-05-10 23:57:01  -----
Deployment completed: https://mavisnaissanceconsulting.shinyapps.io/mavisanalytic/

在 R Studio 控制台中,我收到错误消息:

Error in rbind.data.frame(..., stringsAsFactors = FALSE) : 
  numbers of columns of arguments do not match

下面是我要部署的应用程序的代码。有点乱,但我希望一些好心的撒玛利亚人会耐心地帮助我:

if(interactive()){
library(shiny)
library(shinyalert)  
library(shinycssloaders)  
library(shinythemes)
library(shinyWidgets)
library(shinyjs)  
library(SentimentAnalysis)
library(textclean)
library(reactable)
library(tm)  

options(spinner.color="#3498db",
        spinner.color.background="#ffffff",
        spinner.size=1)  

ui<-list(useShinyjs(),navbarPage(strong("Mavis Analytic"),theme=shinytheme("cerulean"),
               windowTitle="Mavis Analytic",fluid=TRUE,inverse=FALSE,
               tabPanel(strong("Opinion Miner"),icon=icon("table"),useShinyalert(),
                setBackgroundColor("white"),setBackgroundImage(src="white.jpg"),        
                          sidebarLayout(
                          sidebarPanel(width=3,
                          img(src="logo.jpg",height=130,width=150),
                          h4(strong("Enter your texts in these fields")),
                          actionButton("clear",strong("Clear Fields"),icon=icon("broom")),br(),br(),
                          textAreaInput("text","Text Field 1",value="It is a beautiful day"),
                          textAreaInput("texts","Text Field 2",value="I am happy to be here"),
                          textAreaInput("word","Text Field 3",value="Let's have some fun"),
                          textAreaInput("words","Text Field 4",value="It has been a bad outing"),
                          textAreaInput("wordy","Text Field 5",value="I dislike clowns"),
                          actionButton("run",strong("Run Analysis"),icon=icon("caret-right")),br(),hr(),h5(strong("The number of words entered into each text field:")),reactableOutput("count",width="40%")),
                          mainPanel(h4("The Opinion Miner is a tool for conducting sentiment analysis. It is useful for analyzing and scoring the kinds of sentiments expressed in texts, such as in literature, social media posts, or product reviews."),hr(),h3(strong("Table of Sentiment Scores")),withSpinner(reactableOutput("table"),type=1),downloadButton("download",strong("Download Table")),br(),br(),
                                    column(4,selectInput("choice","Select Sentiment Score to Plot",choices=c("QDAP","LoughranM","HarvardIV"))),column(4,selectInput("color","Select Color",choices=c("Blue","Red","Green","Yellow","Purple"))),
                                    fluidRow(column(6,withSpinner(plotOutput("plot",height=350,width=400),type=1)),column(6,withSpinner(plotOutput("graph",height=350,width=400),type=1))),
                                    fluidRow(column(6,downloadButton("plot.down",strong("Download Graph"))))))),

               tabPanel(strong("Financial Ratios Calculator"),icon=icon("chart-bar"),
                        sidebarLayout(
                        sidebarPanel(width=2,h4(strong("Profit figures:")),
                                  actionButton("delete",strong("Clear Fields"),icon=icon("broom")),br(),br(),  
                                  textInput("num","Profit 1",value="100000",width=150),
                                  textInput("numb","Profit 2",value="150000",width=150),
                                  textInput("number","Profit 3",value="200000",width=150),
                                  textInput("numbers","Profit 4",value="250000",width=150),
                                  textInput("numbered","Profit 5",value="300000",width=150),
                                  hr(),
                                  h4(strong("Turnover figures:")),
                                  actionButton("remove",strong("Clear Fields"),icon=icon("broom")),br(),br(),
                                  textInput("fig","Turnover 1",value="350000",width=150),
                                  textInput("figs","Turnover 2",value="300000",width=150),
                                  textInput("figu","Turnover 3",value="420000",width=150),
                                  textInput("figur","Turnover 4",value="600000",width=150),
                                  textInput("figure","Turnover 5",value="550000",width=150),
                                  actionButton("go",strong("Calculate Ratio"),icon=icon("caret-right")),
                                  hr(),
                                  h4(strong("Receivables figures:")),
                                  actionButton("vanish",strong("Clear Fields"),icon=icon("broom")),br(),br(),
                                  textInput("deb","Receivables 1",value="150000",width=150),
                                  textInput("debt","Receivables 2",value="100000",width=150),
                                  textInput("debts","Receivables 3",value="50000",width=150),
                                  textInput("debtor","Receivables 4",value="80000",width=150),
                                  textInput("debtors","Receivables 5",value="170000",width=150),
                                  actionButton("away",strong("Calculate Ratio"),icon=icon("caret-right"))),  
                        mainPanel(h4("The Financial Ratios Calculator makes possible a comparative analysis of a company's profitability and efficiency ratios over time."),hr(),
                                  h3(strong("Profitability Ratios")),h4("(Profit/Turnover): Calculates how much profit margin (%) a company makes on its sales"),fluidRow(column(6,withSpinner(plotOutput("bar",),type=1)),column(6,withSpinner(plotOutput("pie"),type=1))),
                                  fluidRow(column(6,downloadButton("drop",strong("Download Bar Plot"))),column(6,downloadButton("fall",strong("Download Pie Chart")))),hr(),
                                  h3(strong("Efficiency Ratios")),h4("(Receivables/Turnover): Calculates the average length of time (in days) it takes for a company to recover its debts"),
                                  fluidRow(column(6,withSpinner(plotOutput("sphere"),type=1)),column(6,withSpinner(plotOutput("bin"),type=1))),
                                  fluidRow(column(6,downloadButton("down",strong("Download Pie Chart"))),column(6,downloadButton("plummet",strong("Download Bar Plot")))))


                          )),
               tabPanel(strong("About Mavis Analytic"),icon=icon("info"),mainPanel(h4(div(style="color:#5499c7","Mavis Analytic is designed as a multi-functional web application, with a variety of features that make it a modern business tool.
                                                                                                                    It currently incorporates tools for conducting sentiment analysis and financial performance evaluation. The goal of the designers of Mavis Analytic, Mavis Naissance Consulting,
                                                                                                                    is to keep expanding the scope of the application, by creating more functions that will make it a very versatile software for a wide range of business uses. ")),img(src="New.jpg",height=150,width=150))),
               tabPanel(strong("Send Us Your Feedback"),icon=icon("envelope"),
                    HTML("<iframe src=https://docs.google.com/forms/d/e/1FAIpQLSex-eKi33LdmZE7L3PwjWm4tFbFoEIw_L_KUvsSi6kgdXgJPA/viewform?embedded=true width=1400 height=1000 frameborder=0 marginheight=0 marginwidth=0>Loading.</iframe>")),
               navbarMenu(strong("More"),
               tabPanel(strong("Graphs and Charts"),icon=icon("chart-bar"),sidebarLayout(sidebarPanel(width=3, selectInput("select","Select Variable to Plot",choice=c(
                        "Indegree","Outdegree","Degree","Normalized",
                        "Domain","Proximity","Modularity","Clusters"
              ),selected="Modularity"),sliderInput("slide","Change Pie Chart Angle",min=45,max=180,animate=TRUE,value=45,step=1)),

               mainPanel(fluidRow(column(6,plotOutput("draw")),column(6,plotOutput("art"))),br(),
               fluidRow(column(6,plotOutput("paint")),column(6,plotOutput("part")))))),

               tabPanel(strong("Tables"),icon=icon("table"),
                        mainPanel(h3("Network data pulled from Twitter interactions on different subjects "),actionButton("detail",strong("Table Info")),downloadButton("table.down",strong("Download Table")),reactableOutput("metrics.table"),hr(),
                                  actionButton("more",strong("Table Info")),downloadButton("flat",strong("Download Table")), reactableOutput("freedom.table"))),
               tabPanel(strong("Library"),icon=icon("file-pdf"),
                        fluidRow(column(6,tags$iframe(style="height:400px;width:100%;scrolling=yes",src="analysis.pdf")),column(6,tags$iframe(style="height:400px;width:100%;scrolling=yes",src="Audits.pdf"))),br(),
                        fluidRow(column(6,tags$iframe(style="height:400px;width:100%;scrolling=yes",src="pricing.pdf")),column(6,tags$iframe(style="height:400px;width:100%;scrolling=yes",src="tech.pdf")))))

))
server<-function(input,output,session){

      observeEvent(input$clear,{
      updateTextAreaInput(session,"text",value="",placeholder="Enter new text")
      updateTextAreaInput(session,"texts",value="",placeholder="Enter new text")
      updateTextAreaInput(session,"word",value="",placeholder="Enter new text")
      updateTextAreaInput(session,"words",value="",placeholder="Enter new text")
      updateTextAreaInput(session,"wordy",value="",placeholder="Enter new text")

    })

  observeEvent(input$run,{
    shinyalert(title="Running Analysis",text="Please be patient while the app cleans the texts and runs the analysis",
               closeOnEsc=TRUE,confirmButtonText="OK",timer=10000,animation=TRUE,closeOnClickOutside=TRUE)
  })

  observeEvent(input$detail,{
    shinyalert(title="Disease on Twitter",text="This table contains the metrics underlying the network of Twitter interactions about disease, using the #disease hashtag",
               closeOnEsc=TRUE,closeOnClickOutside=TRUE,animation=TRUE,confirmButtonText="OK",timer=10000)
  })

  observeEvent(input$more,{
    shinyalert(title="Freedom on Twitter",text="This table contains the statistical data of the Twitter conversation about freedom, using the #freedom hashtag",
               closeOnEsc=TRUE,closeOnClickOutside=TRUE,animation=TRUE,confirmButtonText="OK",timer=10000)
  })
  observeEvent(input$delete,{
    updateTextInput(session,"num",value="",placeholder="0")
    updateTextInput(session,"numb",value="",placeholder="0")
    updateTextInput(session,"number",value="",placeholder="0")
    updateTextInput(session,"numbers",value="",placeholder="0")
    updateTextInput(session,"numbered",value="",placeholder="0")
  })
  observeEvent(input$remove,{
    updateTextInput(session,"fig",value="",placeholder="0")
    updateTextInput(session,"figs",value="",placeholder="0")
    updateTextInput(session,"figu",value="",placeholder="0")
    updateTextInput(session,"figur",value="",placeholder="0")
    updateTextInput(session,"figure",value="",placeholder="0")
  })
  observeEvent(input$vanish,{
    updateTextInput(session,"deb",value="",placeholder="0")
    updateTextInput(session,"debt",value="",placeholder="0")
    updateTextInput(session,"debts",value="",placeholder="0")
    updateTextInput(session,"debtor",value="",placeholder="0")
    updateTextInput(session,"debtors",value="",placeholder="0")
  })


  doc<-reactive({c(if(nchar(input$text)>0){input$text},
                   if(nchar(input$texts)>0){input$texts},
                   if(nchar(input$word)>0){input$word},
                   if(nchar(input$words)>0){input$words},
                   if(nchar(input$wordy)>0){input$wordy}
             )
    })
  profit<-reactive({
    as.numeric(c(if(input$num>0){input$num},
                 if(input$numb>0){input$numb},
                 if(input$number>0){input$number},
                 if(input$numbers>0){input$numbers},
                 if(input$numbered>0){input$numbered}))
     })

  turnover<-reactive({
    as.numeric(c(if(input$fig>0){input$fig},
                 if(input$figs>0){input$figs},
                 if(input$figu>0){input$figu},
                 if(input$figur>0){input$figur},
                 if(input$figure>0){input$figure}))

  })

  receivables<-reactive({
    as.numeric(c(if(input$deb>0){input$deb},
                 if(input$debt>0){input$debt},
                 if(input$debts>0){input$debts},
                 if(input$debtor>0){input$debtor},
                 if(input$debtors>0){input$debtors}))

  })


  output$table.down<-downloadHandler(
    filename=function(){
      paste("Metrics",".csv",sep="")
    },
    content=function(file){
      write.csv(disease,file)
    }
  )

  output$flat<-downloadHandler(
    filename=function(){
      paste("Freedom",".csv",sep="")
    },
    content=function(file){
      write.csv(freedom,file)
    }
  )

  disease<-read.csv("metrics.csv",header=TRUE,sep=",")

  disease.df<-data.frame(disease)

  pie.data<-reactive({head(disease$Degree,n=8)})

  bar.data<-reactive({head(freedom$Outdegree,n=6)})

  freedom<-read.csv("Freedom.csv",header=TRUE,sep=",")

  freedom.df<-data.frame(freedom)

  data.X<-reactive({switch(input$select,
                 "Indegree"=disease$Indegree,
                 "Outdegree"=disease$Outdegree,
                 "Degree"=disease$Degree,
                 "Normalized"=disease$Normalized,
                 "Domain"=disease$Domain,
                 "Proximity"=disease$Proximity,
                 "Modularity"=disease$Modularity,
                 "Clusters"=disease$Clusters
                 )})

  data.Y<-reactive({switch(input$choice,
                 "Indegree"=disease$Indegree,
                 "Outdegree"=disease$Outdegree,
                 "Degree"=disease$Degree,
                 "Normalized"=disease$Normalized,
                 "Domain"=disease$Domain,
                 "Proximity"=disease$Proximity,
                 "Modularity"=disease$Modularity,
                 "Clusters"=disease$Clusters
                 )})

  output$metrics.table<-renderReactable({

    reactable(disease.df,
              searchable=TRUE,
              outlined=TRUE,
              highlight=TRUE,
              bordered=TRUE,
              striped=TRUE,
              compact=TRUE,
              defaultColDef=colDef(
                align="center",
                headerStyle=list(background="#5dade2")
              ))
  })

  output$freedom.table<-renderReactable({

    reactable(freedom.df,
              compact=TRUE,
              striped=TRUE,
              searchable=TRUE,
              bordered=TRUE,
              highlight=TRUE,
              defaultColDef=colDef(
                align="center",
                headerStyle=list(background="#5dade2")
              ))
  })
  #This is the function for calculating profitability ratio
  profitability<-function(profit,turnover){
   profitability=round((profit/turnover)*100,1)
   return(profitability)
  }
  profitability.ratio<-reactive({profitability(profit(),turnover())})

  #This is the function for calculating efficiency ratio
  efficiency<-function(receivables,turnover){
    efficiency<-round((receivables/turnover)*365,1)
    return(efficiency)
  }

  efficiency.reactive<-reactive({
    efficiency(receivables(),turnover())
  })

  Analyze<-reactive({
    round(analyzeSentiment(
      replace_symbol(
        replace_number(
          replace_ordinal(
            doc())))),1)})

  QDAP<-reactive({Analyze()$SentimentQDAP})
  LoughranM<-reactive({Analyze()$SentimentLM})
  HarvardIV<-reactive({Analyze()$SentimentGI})

  word.count<-reactive({countWords(doc(),removeStopwords=FALSE)})

  tables<-reactive({
    data.frame(QDAP(),LoughranM(),HarvardIV())
  })

  data<-reactive({switch(input$choice,
                         "QDAP"=tables()$QDAP,
                         "LoughranM"=tables()$LoughranM,
                         "HarvardIV"=tables()$HarvardIV)})


  output$download<-downloadHandler(
    filename=function(){
      paste("table",".csv",sep="")
    },
    content=function(file){
      write.csv(tables(),file)
    }
  )

  output$drop<-downloadHandler(
    filename=function(){
      paste("Barplot",".jpg",sep="")
    },
    content=function(file){
      jpeg(file)
      barplot(profitability.ratio(),
              col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"),
              beside=TRUE,
              border="white",
              xlab="Years",
              ylab="Margins in (%)")
      dev.off()
    }
  )

  output$fall<-downloadHandler(
    filename=function(){
      paste("Piechart",".jpg",sep="")
    },

    content=function(file){
      jpeg(file)
      pie(profitability.ratio(),radius=1.1,col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"),
          border="white",
          clockwise=TRUE,
          init.angle=90,
          labels=profitability.ratio())
      dev.off()
    }
  )

  output$down<-downloadHandler(
    filename=function(){
      paste("Piechart",".jpg",sep="")
    },

    content=function(file){
      jpeg(file)
      pie(efficiency.reactive(),radius=1.1,border="white",clockwise=TRUE,
          init.angle=90,
          labels=efficiency.reactive(),
          col=c("#5dade2","#85c1e9","#3498db","#2e86c1","#2874a6"))
      dev.off()
    }
  )

  output$plummet<-downloadHandler(
    filename=function(){
      paste("Barplot",".jpg",sep="")
    },
    content=function(file){
      jpeg(file)
      barplot(efficiency.reactive(),
              col=c("#5dade2","#85c1e9","#3498db","#2e86c1","#2874a6"),
              border="white",
              beside=TRUE,
              xlab="Years",
              ylab="Days")
      dev.off()
    }
  )

  output$plot.down<-downloadHandler(
    filename=function(){
      paste("Graph",".jpg",sep="")
    },
    content=function(file){
      jpeg(file)
      color<-switch(input$color,
                    "Blue"="#5dade2",
                    "Red"="#e74c3c",
                    "Green"="#1abc9c",
                    "Yellow"="#f7dc6f",
                    "Purple"="#a569bd")
      barplot(data(),col=color,border="white",xlab="Texts",ylab="Sentiment Scores",main="Bar Plot of Sentiment Scores")
      dev.off()
    }
  )

  output$table<-renderReactable({
      input$run
      isolate(reactable(tables(),searchable=TRUE,bordered=TRUE,defaultColDef=colDef(
      align="center",
      headerStyle=list(background="#5dade2"),
      style=function(value){
        if(value>0){color<-"#27ae60"}
        else if(value<0){color<-"#e74c3c"}
        else{color<-"#5dade2"}
        list(color=color,fontWeight="bold")
      }),
      highlight=TRUE,outlined=TRUE,striped=TRUE,filterable=FALSE,compact=TRUE,onClick="expand")
      )
  })

  output$count<-renderReactable({
        input$run
        isolate(reactable(data.frame(word.count()),bordered=TRUE,striped=TRUE,compact=TRUE,
                          defaultColDef=colDef(
                            align="center",
                            headerStyle=list(background="#85c1e9"))
                            ))
       })

  output$plot<-renderPlot({

    color<-switch(input$color,
                  "Blue"="#5dade2",
                  "Red"="#e74c3c",
                  "Green"="#1abc9c",
                  "Yellow"="#f7dc6f",
                  "Purple"="#a569bd")
     input$run 
    isolate(barplot(data(),col=color,border="white",xlab="Texts",ylab="Sentiment Scores",main="Bar Plot of Sentiment Scores"))

  })
  output$graph<-renderPlot({

            input$run
            isolate(plotSentiment(data(),xlab="Texts",ylab="Sentiment Scores"))
      })

  output$bar<-renderPlot({

            input$go
            isolate(barplot(profitability.ratio(),
                            col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"),
                            beside=TRUE,
                            border="white",
                            xlab="Years",
                            ylab="Margins in (%)"))


  })

  output$pie<-renderPlot({

            input$go
            isolate(pie(profitability.ratio(),radius=1.1,col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"),
                        border="white",
                        clockwise=TRUE,
                        init.angle=90,
                        labels=profitability.ratio()))



  })

  output$sphere<-renderPlot({

    input$away
    isolate(
      pie(efficiency.reactive(),radius=1.1,border="white",clockwise=TRUE,
          init.angle=90,
          labels=efficiency.reactive(),
          col=c("#5dade2","#85c1e9","#3498db","#2e86c1","#2874a6"))
    )
  })

  output$bin<-renderPlot({
    input$away
    isolate(
      barplot(efficiency.reactive(),
              col=c("#5dade2","#85c1e9","#3498db","#2e86c1","#2874a6"),
              border="white",
              beside=TRUE,
              xlab="Years",
              ylab="Days")
    )
  })

  output$draw<-renderPlot({

    hist(data.X(),border="white",col="#3498db",main="Variable Plots",xlab="Metrics")
  })

  output$art<-renderPlot({

    plot(data.X(),disease$Modularity,col="#e74c3c",xlab="Metrics",ylab="Value",pch=20,
         cex=2,type="h",main="Variable Plots")
  })

  output$paint<-renderPlot({

    pie(pie.data(),radius=1.1,clockwise=TRUE,init.angle=input$slide,
        border="white",col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"),main="Pie Chart of Degrees")
  })

  output$part<-renderPlot({

    barplot(bar.data(),border="white",main="Bar Plot of Outdegrees",
            xlab="Outdegrees",ylab="Values",col=c("#5dade2","#ec7063","#48c9b0","#a569bd","#f4d03f"))
  })

}
}

shinyApp(ui=ui,server=server)  

在此先感谢您的帮助。

标签: rshinyshiny-server

解决方案


推荐阅读