闪亮的应用程序在本地工作,但不在shinyapp.io云中?

闪亮的应用程序在本地工作,但不在shinyapp.io云中?,shiny,shiny-server,shinyapps,Shiny,Shiny Server,Shinyapps,这是我第一个部署到shinyapp IO云服务器的闪亮web应用程序,该应用程序在我的本地运行良好,没有任何问题。但是当我部署它时,它不能正常工作。如果有人告诉我代码中到底缺少什么,那就太好了。以下是shinyapps云链接 下面是r代码 rm(list=ls()) # load library library(dplyr) library(data.table) library(stringr) library(ggplot2) library(shiny) library(plot

这是我第一个部署到shinyapp IO云服务器的闪亮web应用程序,该应用程序在我的本地运行良好,没有任何问题。但是当我部署它时,它不能正常工作。如果有人告诉我代码中到底缺少什么,那就太好了。以下是shinyapps云链接

下面是r代码

    rm(list=ls())

# load library
library(dplyr)
library(data.table)
library(stringr)
library(ggplot2)
library(shiny)
library(plotly)
library(shinythemes)
library(shinyjs)
library(DT)
library(shinyWidgets)
library(tidyverse)
library(DBI)
library(readxl)

# css customization
css <- "
#download_data {
  /* Change the background color of the download button to orange. */
  background: orange;

  /* Change the text size to 20 pixels. */
  font-size: 20px;
}
#data_tbl {
  /* Change the text color of the table to red. */
  color: black;
}
"
url <-
  "http://example.com/CSISAMS/exportdata/getdata?Format=CSV&QueryID=488461&loginid=2368702"

dt_raw <- data.frame(
  `Fiscal Year` = c("FY20","FY20","FY20","FY20"),`Calendar Month` = c(201911L,201911L,201911L,201911L),
  `RS Subregion1` = c("LATIN AMERICA REGION","LATIN AMERICA REGION","LATIN AMERICA REGION","LATIN AMERICA REGION"),
  `Product Sub Group` = c("APS","CP","CS","AP"),
  `NDP USD` = c(10200.18,373695.04,34637.79,347602.63),
   Qty = c(323.91,15023.17,1033.09,17666.96),
  `AtNet USD` = c(111748.95,5182993.65,356416.05,6095101.2),
  `ASP USD` = c(10023.88,464914.53,31970.52,546730.58),
    )

dt <- dt_raw
ggplt_data <- (dt)
names(ggplt_data) <- gsub(" ", "_", names(ggplt_data))


ui_queryid <- str_remove(str_split(url, '&')[[1]][2], 'QueryID=')
region_names <-
  data.table(
    'RegionName' = c('AMS', 'EMEA', 'APJ', 'WW'),
    'CSISRegionName' = c('CSISAMS', 'webquery', 'csisapj', 'WW')
  )
region <-
  region_names[str_detect(url, c('CSISAMS', 'webquery', 'csisapj', 'WW')), RegionName]


measure_list <-
    data.frame(
      ReportDisplay = c("NDP USD", "Qty", "AtNet USD",
                        "ASP USD"),
      Region = c("AMS", "AMS", "AMS", "AMS"),
      NumberFormat = c("Dollar",
                       "Number", "Dollar", "Dollar")
    )
  


clean_measure_list <-
  measure_list %>% filter(Region == region) %>% mutate(clean_reportdisplay = str_replace_all(ReportDisplay, "[:punct:]|[:space:]", '.')) %>%
  filter(clean_reportdisplay %in% str_replace_all(colnames(dt), "[:punct:]|[:space:]", '.')) %>% select (clean_reportdisplay)

list_attr <-
  data.table('attr_name' = names(ggplt_data)) %>%
  mutate(
    measure_type = case_when(
      str_detect(
        attr_name,
        regex(clean_measure_list$clean_reportdisplay, ignore_case = TRUE)
      ) ~ "Measure",
      attr_name %in% clean_measure_list$clean_reportdisplay ~ "Measure",
      TRUE ~ "Filter"
    )
  )

#convert functions
convert_units_fun <- function(x, arth_operator, value) {
  if (arth_operator == "+") {
    round(x + value, 2)
  } else if (arth_operator == "-") {
    round(x - value, 2)
  } else if (arth_operator == "*") {
    round(x * value, 2)
  } else {
    round(x / value, 2)
  }
}

# Scatter & Jitter plot function
# func_ggplt_scatter_jitter (xAxis="Distributor_Total_Quantity",yAxis="Distributor_Total_Quantity",graph_type="geom_point",se=TRUE,
#                            theme="theme_gray",size = 5, shape = 21)

func_ggplt_scatter_jitter <-
  function(xAxis,
           yAxis,
           aes_color = NULL,
           graph_type,
           title = NULL,
           xAxis_label = NULL,
           yAxis_label = NULL,
           shape = NULL,
           size = NULL,
           theme = NULL,
           se,
           xlim_min = NA,
           xlim_max = NA,
           ylim_min = NA,
           ylim_max = NA,
           x_log = NULL,
           y_log = NULL) {
    ggplt_data %>% ggplot(aes_string(xAxis, yAxis, color = aes_color)) +
      get(graph_type)(shape = shape, size = size) +
      geom_smooth(se = se) +    ggtitle(title) +   xlab(xAxis_label) +   ylab(yAxis_label) +
      get(theme)() + scale_x_continuous(limits = c(xlim_min, xlim_max)) +
      scale_y_continuous(limits = c(ylim_min, ylim_max)) +
      
      (if (is.null(x_log) == TRUE) {
        NULL
      } else {
        get(x_log)()
      }) +
      
      (if (is.null(y_log) == TRUE) {
        NULL
      } else {
        get(y_log)()
      })
  }

func_ggplt_col <-
  function(xAxis,
           yAxis,
           aes_color ,
           graph_type,
           title = NULL,
           xAxis_label = NULL,
           yAxis_label = NULL,
           theme = NULL,
           position = "dodge",
           summary_type = "n") {
    if (aes_color == "NULL") {
      ggplt_data %>% mutate(xAxis_factor = as.factor(get(xAxis))) %>%
        group_by (xAxis_factor) %>%
        summarise(n = n(), s = sum(get(yAxis))) %>%
        ggplot(aes(x = xAxis_factor, y = get(summary_type))) +
        get(graph_type)() +
        get(theme)() + ggtitle(title) +   xlab(xAxis_label) + ylab(yAxis_label) +
        scale_fill_brewer(palette = "Set1") +
        theme(axis.text.x = element_text(
          angle = 90,
          vjust = 1,
          hjust = 1
        )) +
        geom_text(
          aes(label = get(summary_type)),
          size = 3,
          hjust = 0.5,
          position = position_stack(vjust = 0.5)
        )
      
    } else {
      ggplt_data %>% mutate(
        xAxis_factor = as.factor(get(xAxis)),
        yAxis_factor = get(yAxis),
        aes_color_factor = as.factor(get(aes_color))
      ) %>%
        group_by (xAxis_factor, aes_color_factor) %>% summarise(n = n(), s = sum(get(yAxis))) %>%
        ggplot(aes(
          x = xAxis_factor,
          y = get(summary_type),
          fill = aes_color_factor
        )) +
        get(graph_type)(position = position) +
        get(theme)() + ggtitle(title) +   xlab(xAxis_label) + ylab(yAxis_label)  +
        scale_fill_brewer(palette = "Set1") +
        theme(axis.text.x = element_text(
          angle = 90,
          vjust = 1,
          hjust = 1
        )) +
        geom_text(
          aes(label = get(summary_type)),
          size = 3,
          hjust = 0.5,
          position = position_stack(vjust = 0.5)
        )
    }
  }

func_ggplt_line_area <-
  function(xAxis,
           yAxis,
           aes_color ,
           graph_type,
           title = NULL,
           xAxis_label = NULL,
           yAxis_label = NULL,
           theme = NULL) {
    if (aes_color == "NULL") {
      ggplt_data %>%
        ggplot(aes(x = as.factor(get(xAxis)), y = get(yAxis))) +
        get(graph_type)() +
        theme(axis.text.x = element_text(
          angle = 90,
          vjust = 1,
          hjust = 1
        ))
    } else {
      ggplt_data %>%
        ggplot(aes(
          x = as.factor(get(xAxis)),
          y = get(yAxis),
          color = get(aes_color),
          group = get(aes_color),
          fill = get(aes_color)
        )) +
        get(graph_type)() +
        get(theme)() + ggtitle(title) +   xlab(xAxis_label) + ylab(yAxis_label)  +
        theme(axis.text.x = element_text(
          angle = 90,
          vjust = 1,
          hjust = 1
        )) +
        geom_text(aes(label = get(yAxis)), vjust = 0.25)
    }
  }

list_graph <-
  data.table(
    'geom_name' = c(
      'geom_point',
      'geom_jitter',
      'geom_col' ,
      'geom_line',
      'geom_area'
    ),
    'geom_ui_name' = c('Scatter Plot', 'Jitter Plot', 'Col Plot', 'Line Plot', 'Area Plot')
  )

list_theme <-
  data.table(
    'theme_name' = c('theme_gray', 'theme_bw', 'theme_classic', 'theme_void'),
    'theme_ui_name' = c(
      'Gray(default)',
      'BW(transparency)',
      'Classic(traditional)',
      'Nothing'
    )
  )

summary_type <-
  data.table(
    'summary_type_name' = c('s', 'n'),
    'summary_type_ui_name' = c('sum', 'count')
  )



# UI
ui <- fluidPage(
  h4(
    paste0(
      "QueryID: ",
      ui_queryid,
      ", Total No Rows: ",
      nrow(dt),
      ", Total Selected Columns: ",
      ncol(dt)
    )
  ),
  #shinythemes::themeSelector()  , # use this code to change theme of app
  theme = shinythemes::shinytheme("simplex"),
  tags$style(css),
  sidebarLayout(
    sidebarPanel(
      useShinyjs(),
      radioGroupButtons(
        inputId = "Id0001",
        label = "",
        choices = c("Readme", "Customization", "Aggregations", "Exploration"),
        status = "info",
        justified = TRUE
      ),
      uiOutput("selectId0002"),
      uiOutput("selectId0009"),
      uiOutput("selectId0010"),
      uiOutput("selectId0011"),
      
      useShinyjs(),
      
      uiOutput("selectId0008"),
      uiOutput("selectId0003"),
      uiOutput("selectId0004"),
      uiOutput("selectId0005"),
      div(style = "float:left", uiOutput("selectId0006")),
      div(style = "float:right", uiOutput("selectId0007")),
      useShinyjs(),
      uiOutput("selectgraph"),
      uiOutput("selectxAxis"),
      uiOutput("selectsummary_type"),
      uiOutput("selectyAxis"),
      uiOutput("selectColor"),
      uiOutput("selectTitle"),
      uiOutput("selectxLabel"),
      uiOutput("selectyLabel"),
      uiOutput("selectTheme"),
      uiOutput("selectadvanceopts"),
      
      uiOutput("selectSe"),
      uiOutput("selectposition"),
      uiOutput("selectxlog10"),
      uiOutput("selectylog10"),
      uiOutput("selectXlimmin"),
      uiOutput("selectXlimmax"),
      uiOutput("selectYlimmin"),
      uiOutput("selectYlimmax"),
      uiOutput("selectshowgraph")
      
      
      ,
      width = 3
    ),
    mainPanel(
      fluidRow(
        conditionalPanel(condition = "input.Id0001 == 'Readme'", textOutput("mark")),
        conditionalPanel(condition = "input.Id0001 == 'Customization'", DT::DTOutput("Customization_data_tbl")),
        conditionalPanel(condition = "input.Id0001 == 'Aggregations'", DT::DTOutput("Aggregations_data_tbl")),
        conditionalPanel(condition = "input.Id0001 == 'Exploration'", plotly::plotlyOutput("plot")),
        conditionalPanel(condition = "input.Id0001 == 'Exploration'", DT::DTOutput("plot_data_tbl")),
        conditionalPanel(condition = "input.Id0001 %in% ('Customization','Aggregations','Exploration')", uiOutput("enable_download_button"))
      ),
      width = 9
    )
  )
)
#SERVER
server <- function(input, output, session) {
  output$mark <- renderText("Please click desired tab for analysis")
  
  output$selectgraph <-
    renderUI(selectInput(
      inputId = "graph",
      label = "Select graph Type",
      choices = unique(list_graph$geom_ui_name)
    ))
  output$selectxAxis <-
    renderUI(selectInput("xAxis", "Select X Axis value", unique(list_attr$attr_name)))
  output$selectsummary_type <-
    renderUI(selectInput(
      "summary_type",
      "Select Summary Type:",
      choices = unique(summary_type$summary_type_ui_name)
    ))
  output$selectyAxis <-
    renderUI(selectInput("yAxis", "Select Y Axis value", unique(list_attr$attr_name)))
  output$selectColor <-
    renderUI(selectInput("color", "Select color value", c("NULL", unique(
      list_attr$attr_name[list_attr$measure_type == 'Filter']
    ))))
  output$selectTitle <-
    renderUI(textInput("title", "Enter title here", placeholder = "title is optional"))
  output$selectxLabel <-
    renderUI(
      textInput("xAxis_label", "X-Label:", placeholder = "something is better than nothing")
    )
  output$selectyLabel <-
    renderUI(
      textInput("yAxis_label", "Y-Label:", placeholder = "something is better than nothing")
    )
  output$selectTheme <-
    renderUI(selectInput("theme", "select theme", choices = unique(list_theme$theme_ui_name)))
  output$selectSe <-
    renderUI(checkboxInput("se", "Show confidence interval", FALSE))
  output$selectxlog10 <-
    renderUI(checkboxInput("xlog10", "scale_x_log10", FALSE))
  output$selectylog10 <-
    renderUI(checkboxInput("ylog10", "scale_y_log10", FALSE))
  output$selectXlimmin <-
    renderUI(textInput("xlimmin", "X-lim Min:", value = NA, width = 60))
  output$selectXlimmax <-
    renderUI(textInput("xlimmax", "X-lim Max:", value = NA, width = 60))
  output$selectYlimmin <-
    renderUI(textInput("ylimmin", "Y-lim Min:", value = NA, width = 60))
  output$selectYlimmax <-
    renderUI(textInput("ylimmax", "Y-lim Max:", value = NA, width = 60))
  output$selectposition <-
    renderUI(radioButtons(
      "position",
      "Select position:",
      choices = c("stack", "fill", "dodge"),
      inline = TRUE
    ))
  output$selectadvanceopts <-
    renderUI(checkboxInput("advanceopts", "Advanced Options", FALSE))
  output$selectshowgraph <-
    renderUI(fluidRow(actionButton("showgraph", "Show Plot")))
  
  output$selectId0002 <-
    renderUI(textInput("Id0002", "", placeholder = "enter new column name"))
  output$selectId0003 <-
    renderUI(pickerInput(
      "Id0003",
      "enter Custom Formula",
      choices = unique(names(dt)),
      options = list(`live-search` = TRUE)
    ))
  output$selectId0004 <-
    renderUI(
      textInput("Id0004", "enter arithmetic operators", placeholder = "only symbols please...")
    )
  output$selectId0005 <-
    renderUI(numericInput("Id0005", "enter value", 1, min = 0.01, max = 1000000000))
  output$selectId0006 <-
    renderUI(actionButton("Id0006", "add new column "))
  output$selectId0007 <-
    renderUI(actionButton("Id0007", "clear selection", class = "btn-danger"))
  output$selectId0008 <-
    renderUI(materialSwitch("Id0008", "Show arithmetic operators", FALSE, status = "primary"))
  output$selectId0009 <-
    renderUI(
      pickerInput(
        "Id0009",
        "group by attributes",
        choices = unique(names(dt)),
        multiple = TRUE,
        options = list(`live-search` = TRUE)
      )
    )
  output$selectId0010 <-
    renderUI(
      pickerInput(
        "Id0010",
        "summary attributes",
        choices = unique(names(dt)),
        multiple = TRUE,
        options = list(`live-search` = TRUE)
      )
    )
  output$selectId0011 <-
    renderUI(actionButton("Id0011", "show data"))
  
  shiny::observeEvent(input$Id0001, {
    shinyjs::toggle("selectId0002", condition = input$Id0001  %in% c("Customization"))
    shinyjs::toggle("selectId0006", condition = input$Id0001  %in% c("Customization"))
    shinyjs::toggle("selectId0007", condition = input$Id0001  %in% c("Customization"))
    shinyjs::toggle("selectId0008", condition = input$Id0001  %in% c("Customization"))
    
    shiny::observeEvent(input$Id0008, {
      shinyjs::toggle("selectId0003",
                      condition = input$Id0001  == c("Customization") &&
                        input$Id0008 == TRUE)
      shinyjs::toggle("selectId0004",
                      condition = input$Id0001  == c("Customization") &&
                        input$Id0008 == TRUE)
      shinyjs::toggle("selectId0005",
                      condition = input$Id0001  == c("Customization") &&
                        input$Id0008 == TRUE)
    })
  })
  
  shiny::observeEvent(input$Id0001, {
    shinyjs::toggle("selectId0009", condition = input$Id0001  %in% c("Aggregations"))
    shinyjs::toggle("selectId0010", condition = input$Id0001  %in% c("Aggregations"))
    shinyjs::toggle("selectId0011", condition = input$Id0001  %in% c("Aggregations"))
    
  })
  
  shiny::observeEvent(input$Id0001, {
    shinyjs::toggle("selectgraph", condition = input$Id0001 == "Exploration")
    shinyjs::toggle("selectTheme", condition = input$Id0001 == "Exploration")
    shinyjs::toggle("selectadvanceopts", condition = input$Id0001 == "Exploration")
    shinyjs::toggle("selectshowgraph", condition = input$Id0001 == "Exploration")
    shiny::observeEvent(input$graph, {
      shinyjs::toggle(
        "selectxAxis",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectyAxis",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectColor",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectTitle",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectxLabel",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectyLabel",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c(
            "Scatter Plot",
            "Jitter Plot",
            "Col Plot",
            'Line Plot',
            'Area Plot'
          )
      )
      shinyjs::toggle(
        "selectsummary_type",
        condition = input$Id0001 == "Exploration"  &&
          input$graph %in% c("Col Plot")
      )
    })
    
    shiny::observeEvent(input$summary_type, {
      shinyjs::toggle(
        "selectyAxis",
        condition = input$Id0001 == "Exploration"  &&
          input$summary_type %in% c('sum')
      )
    })
    
    shiny::observeEvent(input$advanceopts, {
      shinyjs::toggle(
        "selectSe",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectxlog10",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectylog10",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectXlimmin",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectXlimmax",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectYlimmin",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectYlimmax",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Scatter Plot", "Jitter Plot")
      )
      shinyjs::toggle(
        "selectposition",
        condition = input$Id0001 == "Exploration"  &&
          input$advanceopts == TRUE &&
          input$graph %in% c("Col Plot")
      )
      
    })
  })
  
  
  observeEvent(input$Id0007, {
    updatePickerInput(session, "Id0003", "Enter Custom Formula", choices = unique(names(dt)))
    updateTextInput(session, "Id0002", "", value = "")
    updateTextInput(session,
                    "Id0004",
                    "",
                    value = "",
                    placeholder = "only symbols allowed (+,-,*,/)")
    updateNumericInput(session, "Id0005", "enter value", 1)
    updateMaterialSwitch(session, inputId = "Id0008", value = FALSE)
  })
  
  reactive_arithmetic  <- eventReactive(input$Id0006, {
    if (input$Id0002 != "" &&
        !is.null(input$Id0002) && input$Id0006 > 0) {
      newcol <-
        apply(
          dt[, input$Id0003, drop = F],
          1,
          convert_units_fun,
          arth_operator = input$Id0004,
          value = input$Id0005
        )
      cn <- colnames(dt)
      dt <<- data.frame(dt, newcol)
      colnames(dt) <<- c(cn, input$Id0002)
      
    }
    dt
  })
  
  reactive_Aggregations  <- eventReactive(input$Id0011, {
    if (input$Id0011 > 0) {
      dt_agg <<- dt  %>%
        group_by(across(all_of(input$Id0009))) %>%
        summarise(across(all_of(input$Id0010), .fns = list(sum = sum, n = ~ n())))
    }
    dt_agg
  })
  
  
  observeEvent(input$graph, {
    reset("advanceopts")
    reset("se")
    reset("xlog10")
    reset("ylog10")
    reset("xlimmin")
    reset("xlimmax")
    reset("ylimmin")
    reset("ylimmax")
  })
  
  #render out of plot data in table
  
  reactive_plottable <- eventReactive(input$showgraph, {
    if (input$color == "NULL") {
      ggplt_data %>% select(input$xAxis, input$yAxis)
    } else
    {
      ggplt_data %>% select(input$xAxis, input$yAxis, input$color)
    }
  })
  
  
  
  #render out of the plot
  reactive_string <-
    eventReactive(input$showgraph, {
      if (input$graph == "Col Plot") {
        func_ggplt_col (
          xAxis = input$xAxis,
          yAxis = input$yAxis,
          aes_color = input$color,
          graph_type = (list_graph[geom_ui_name == input$graph, geom_name]),
          title = input$title,
          xAxis_label = input$xAxis_label,
          yAxis_label = input$yAxis_label,
          theme = (list_theme[theme_ui_name == input$theme, theme_name]),
          summary_type = (summary_type[summary_type_ui_name == input$summary_type, summary_type_name]),
          position = input$position
        )
        
      } else if (input$graph %in% c("Line Plot", "Area Plot")) {
        func_ggplt_line_area (
          xAxis = input$xAxis,
          yAxis = input$yAxis,
          aes_color = input$color,
          graph_type = (list_graph[geom_ui_name == input$graph, geom_name]),
          title = input$title,
          xAxis_label = input$xAxis_label,
          yAxis_label = input$yAxis_label,
          theme = (list_theme[theme_ui_name == input$theme, theme_name])
        )
        
      } else {
        func_ggplt_scatter_jitter(
          graph_type = (list_graph[geom_ui_name == input$graph, geom_name]),
          xAxis = input$xAxis,
          yAxis = input$yAxis,
          aes_color = input$color,
          title = input$title,
          xAxis_label = input$xAxis_label,
          yAxis_label = input$yAxis_label,
          shape = 'circle',
          size = '3',
          theme = (list_theme[theme_ui_name == input$theme, theme_name]),
          se = input$se,
          xlim_min = as.numeric(input$xlimmin),
          xlim_max = as.numeric(input$xlimmax),
          ylim_min = as.numeric(input$ylimmin),
          ylim_max = as.numeric(input$ylimmax),
          x_log = (if (input$xlog10 == FALSE) {
            NULL
          } else {
            "scale_x_log10"
          }),
          y_log = (if (input$ylog10 == FALSE) {
            NULL
          } else {
            "scale_y_log10"
          })
        )
      }
    })
  
  
  output$Customization_data_tbl <-
    DT::renderDT({
      reactive_arithmetic()
    })
  output$Aggregations_data_tbl <-
    DT::renderDT({
      reactive_Aggregations()
    })
  output$plot <-
    plotly::renderPlotly({
      reactive_string2 <- reactive_string()
    })
  output$plot_data_tbl <- DT::renderDT({
    reactive_plottable()
  })
  
  
  
  output$enable_download_button <-
    renderUI({
      if (input$Id0001  == "Customization" && input$Id0006 > 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Aggregations" &&
                 input$Id0011 > 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Exploration" &&
                 input$showgraph > 0) {
        downloadButton('download_data', label = 'save in csv')
      }
    })
  
  
  # Create a download handler
  output$download_data <-   downloadHandler(
    filename = function() {
      paste("test.csv")
    },
    content = function(file) {
      write.csv(reactive_Aggregations(), file, row.names = FALSE)
    }
  )
}
#Run the Shiny App to Display Webpage
shinyApp(ui = ui, server = server)
#runapp<- shinyApp(ui = ui, server = server)
#runApp(runapp, launch.browser=TRUE)
rm(list=ls())
#加载库
图书馆(dplyr)
库(数据表)
图书馆(stringr)
图书馆(GG2)
图书馆(闪亮)
图书馆(绘本)
图书馆(shinythemes)
图书馆(shinyjs)
图书馆(DT)
图书馆(shinyWidgets)
图书馆(tidyverse)
图书馆(DBI)
图书馆(readxl)
#css定制
css%
ggplot(aes)(
x=as.factor(get(xAxis)),
y=获取(yAxis),
颜色=获取(aes_颜色),
组=获取(aes_颜色),
填充=获取(aes_颜色)
)) +
get(图形类型)()+
获取(主题)(+ggtitle(title)+xlab(xAxis_标签)+ylab(yAxis_标签)+
主题(axis.text.x=元素\文本(
角度=90,
vjust=1,
hjust=1
)) +
几何图形文本(aes(label=get(yAxis)),vjust=0.25)
}
}

list_graph找到了根本原因,下面的代码给应用程序带来了麻烦,并且已经纠正了这个问题。一切正常

问题代码:-

output$enable_download_button <-
renderUI({
  if (input$Id0001  == "Customization" && input$Id0006 > 0) {
    downloadButton('download_data', label = 'save in csv')
  } else if (input$Id0001  == "Aggregations" &&
             input$Id0011 > 0) {
    downloadButton('download_data', label = 'save in csv')
  } else if (input$Id0001  == "Exploration" &&
             input$showgraph > 0) {
    downloadButton('download_data', label = 'save in csv')
  }
})
  output$enable_download_button <-
    renderUI({
      if (input$Id0001  == "Customization" && input$Id0006 != 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Aggregations" &&
                 input$Id0011 != 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Exploration" &&
                 input$showgraph != 0) {
        downloadButton('download_data', label = 'save in csv')
      }
    })
输出$enable\u下载\u按钮0){
downloadButton('download_data',label='save in csv')
}else if(输入$Id0001==“聚合”&&
输入$Id0011>0){
downloadButton('download_data',label='save in csv')
}else if(输入$Id0001==“探索”&&
输入$showgraph>0){
downloadButton('download_data',label='save in csv')
}
})
更正代码:-

output$enable_download_button <-
renderUI({
  if (input$Id0001  == "Customization" && input$Id0006 > 0) {
    downloadButton('download_data', label = 'save in csv')
  } else if (input$Id0001  == "Aggregations" &&
             input$Id0011 > 0) {
    downloadButton('download_data', label = 'save in csv')
  } else if (input$Id0001  == "Exploration" &&
             input$showgraph > 0) {
    downloadButton('download_data', label = 'save in csv')
  }
})
  output$enable_download_button <-
    renderUI({
      if (input$Id0001  == "Customization" && input$Id0006 != 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Aggregations" &&
                 input$Id0011 != 0) {
        downloadButton('download_data', label = 'save in csv')
      } else if (input$Id0001  == "Exploration" &&
                 input$showgraph != 0) {
        downloadButton('download_data', label = 'save in csv')
      }
    })
输出$enable\u下载\u按钮