在 Shiny.io 中上传应用程序时出错
Error while uploading app in Shiny.io
我正在尝试在 Shiny.io 上上传一个闪亮的应用程序。应用程序已部署,当尝试 link 时,应用程序因抛出错误 与服务器断开连接 而崩溃。当我检查仪表板的 Logs 时,它显示 服务器错误:找不到函数 "server"。
我找不到解决方案。与此相关的文档和文章表明,使用的包可能是错误的原因之一,但我无法找到兼容或不兼容的包列表。
这些是我的应用中使用的 packages/libraries 的列表,
- 闪亮
- 地球
- ggplot2
- Plot3D
- 视觉调节
- rgl
- 动物园
- 杂项
- dplyr
- 闪亮BS
- 闪亮的 cssloader
提前致谢!!
更新
下面是可重现的 ui.R 和 server.R 脚本。
调试后发现这部分代码在部署时出错。
ui.R
library(shiny)
library(shinyBS)
library(shinycssloaders)
options(shiny.trace=TRUE)
shinyUI(pageWithSidebar(
fluidRow(
column(width = 4,height = 4,img(src='image.png', align = "left", height =
50, width = 200)),
column(8,titlePanel("Analysis"))
),
sidebarPanel(
br(),
fileInput("file1", label = (" Data "),multiple = F),
fluidRow(
column(12,align ="center", actionButton("button", "Analyze",style =
"background-color : skyblue", icon = icon("stats", lib =
"glyphicon"),width = 250 )))
),
mainPanel(
bsAlert("alert"),
br(),
fluidRow(
tabsetPanel(
tabPanel("Table",icon =
icon("table"),withSpinner(dataTableOutput('table'), type =
getOption("spinner.type", default = 8) ))
)
)
)
))
server.R
library(shiny)
library(shiny)
library(earth)
library(ggplot2)
library(plot3D)
library(visreg)
library(rgl)
library(zoo)
library(Hmisc)
library(dplyr)
library(gridExtra)
options(shiny.maxRequestSize=30*1024^2)
options(shiny.trace=TRUE)
if (interactive()){
shinyServer(function(input, output,session) {
dataframe <- reactive( {
### Create a data frame reading data file to be used by other
functions..
inFile <- input$file1
data1 <- read.csv(inFile$datapath, header = TRUE)
})
table1<- eventReactive(input$button, dataframe())
output$table <- renderDataTable({table1()})
})
}
谢谢!
我终于能够调试代码并找到错误的解决方案。
从 Server.R
中删除语句 if (interactive())
并从 shinyServer(function(input,output,session))
中删除 session
参数。
因此部署没有任何错误。
替换以下 server.R 脚本,它应该可以正常工作。
library(shiny)
library(shiny)
library(earth)
library(ggplot2)
library(plot3D)
library(visreg)
library(rgl)
library(zoo)
library(Hmisc)
library(dplyr)
library(gridExtra)
options(shiny.maxRequestSize=30*1024^2)
options(shiny.trace=TRUE)
shinyServer(function(input, output) {
dataframe <- reactive( {
### Create a data frame reading data file to be used by other functions..
inFile <- input$file1
data1 <- read.csv(inFile$datapath, header = TRUE)
})
table1<- eventReactive(input$button, dataframe())
output$table <- renderDataTable({table1()})
})
我正在尝试在 Shiny.io 上上传一个闪亮的应用程序。应用程序已部署,当尝试 link 时,应用程序因抛出错误 与服务器断开连接 而崩溃。当我检查仪表板的 Logs 时,它显示 服务器错误:找不到函数 "server"。
我找不到解决方案。与此相关的文档和文章表明,使用的包可能是错误的原因之一,但我无法找到兼容或不兼容的包列表。
这些是我的应用中使用的 packages/libraries 的列表,
- 闪亮
- 地球
- ggplot2
- Plot3D
- 视觉调节
- rgl
- 动物园
- 杂项
- dplyr
- 闪亮BS
- 闪亮的 cssloader
提前致谢!!
更新
下面是可重现的 ui.R 和 server.R 脚本。 调试后发现这部分代码在部署时出错。
ui.R
library(shiny)
library(shinyBS)
library(shinycssloaders)
options(shiny.trace=TRUE)
shinyUI(pageWithSidebar(
fluidRow(
column(width = 4,height = 4,img(src='image.png', align = "left", height =
50, width = 200)),
column(8,titlePanel("Analysis"))
),
sidebarPanel(
br(),
fileInput("file1", label = (" Data "),multiple = F),
fluidRow(
column(12,align ="center", actionButton("button", "Analyze",style =
"background-color : skyblue", icon = icon("stats", lib =
"glyphicon"),width = 250 )))
),
mainPanel(
bsAlert("alert"),
br(),
fluidRow(
tabsetPanel(
tabPanel("Table",icon =
icon("table"),withSpinner(dataTableOutput('table'), type =
getOption("spinner.type", default = 8) ))
)
)
)
))
server.R
library(shiny)
library(shiny)
library(earth)
library(ggplot2)
library(plot3D)
library(visreg)
library(rgl)
library(zoo)
library(Hmisc)
library(dplyr)
library(gridExtra)
options(shiny.maxRequestSize=30*1024^2)
options(shiny.trace=TRUE)
if (interactive()){
shinyServer(function(input, output,session) {
dataframe <- reactive( {
### Create a data frame reading data file to be used by other
functions..
inFile <- input$file1
data1 <- read.csv(inFile$datapath, header = TRUE)
})
table1<- eventReactive(input$button, dataframe())
output$table <- renderDataTable({table1()})
})
}
谢谢!
我终于能够调试代码并找到错误的解决方案。
从 Server.R
中删除语句 if (interactive())
并从 shinyServer(function(input,output,session))
中删除 session
参数。
因此部署没有任何错误。
替换以下 server.R 脚本,它应该可以正常工作。
library(shiny)
library(shiny)
library(earth)
library(ggplot2)
library(plot3D)
library(visreg)
library(rgl)
library(zoo)
library(Hmisc)
library(dplyr)
library(gridExtra)
options(shiny.maxRequestSize=30*1024^2)
options(shiny.trace=TRUE)
shinyServer(function(input, output) {
dataframe <- reactive( {
### Create a data frame reading data file to be used by other functions..
inFile <- input$file1
data1 <- read.csv(inFile$datapath, header = TRUE)
})
table1<- eventReactive(input$button, dataframe())
output$table <- renderDataTable({table1()})
})