我正在尝试在线部署R Shiny应用程序。该应用程序在本地部署时运行完美。它基本上只是一个图表仪表板。
但是当我在shinyapps.io上部署它时,应用程序只显示以下错误:
"ERROR: there is no package called ‘shinythemes’".
我猜测这意味着应用程序的在线版本无法加载shinythemes
软件包,但我无处不在,但我无法搜索似乎发现任何有类似问题或解决方案的人。
以下是应用ui.R
library(shiny)
library(shinythemes)
shinyUI(fluidPage(
theme = shinytheme("flatly"),
titlePanel("Bodhi Forest - Website Visitor Analysis"),
selectInput("user_period","Use Data from the Last",c("7 days" = "7",
"30 days" = "30",
"60 days" = "60",
"90 days" = "90"),
selected = "30"),
tabsetPanel(
tabPanel("Demographics",fluidPage(
selectInput("Dem_Dim","Dimension",c("Age","Gender")),
fluidRow(
column(12,htmlOutput("Dem_Dim"),align="center")
),
br(),
fluidRow(
column(6,htmlOutput("Dem_Sessions",inline=TRUE),align="center"),
column(6,htmlOutput("Dem_SessionLength",inline=TRUE),align="center")
),
br(),
fluidRow(
column(6,htmlOutput("Dem_Revenue",inline=TRUE),align="center"),
column(6,htmlOutput("Dem_RevenuePerTransaction",inline=TRUE),align="center")
),
br(),
fluidRow(
column(6,htmlOutput("Dem_Users",inline=TRUE),align="center"),
column(6,htmlOutput("Dem_NewUsers",inline=TRUE),align="center")
),
br(),
fluidRow(
column(6,htmlOutput("Dem_Bounce",inline=TRUE),align="center")
),
hr(),
fluidRow(
column(12,dataTableOutput("Dem_Table"))
),
hr()
)),
tabPanel("Interests",fluidPage(
selectInput("Int_Filter","",c(
"Top 5",
"Bottom 5"
)),
fluidRow(
column(6,wellPanel(plotOutput("Int_Sessions"))),
column(6,wellPanel(plotOutput("Int_SessionLength"))),
column(6,wellPanel(plotOutput("Int_Revenue"))),
column(6,wellPanel(plotOutput("Int_RevenuePerTransaction"))),
column(6,wellPanel(plotOutput("Int_Users"))),
column(6,wellPanel(plotOutput("Int_NewUsers"))),
column(6,wellPanel(plotOutput("Int_Bounce")))
),
hr(),
fluidRow(
column(12,dataTableOutput("Int_Table"))
),
hr()
))
)
))
server.R
代码无法调用shinythemes
,因此我猜错了ui.R
,但我无法弄清楚自从需要做什么以来我见过其他应用只需拨打library(shinythemes)
即可使用。
我重新更新了shiny
,shinyapps
和shinythemes
,但无济于事。
非常感谢您的帮助!一直试图将这个应用程序部署几个小时,但似乎无法弄明白。
答案 0 :(得分:3)
这很奇怪......但我找到了最奇怪的解决方案。不知何故,它与shinythemes
包没有任何关系!什么?!
基本上,在我的server.R
代码中,我添加了DT
和rsconnect
个包。在ui.R代码中,我使用了hr()
和dataTableOutput()
函数。现在......事情是这些函数包含在已加载的多个包中:
hr()
同时处于闪亮和rsconnect状态。dataTableOutput()
有光泽和DT。我只是在ui.R中的这些函数之前添加了名称空间shiny::
:
shiny::hr()
shiny::dataTableOutput()
当我再次尝试在shinyapps上部署它们时...... WALA!该应用程序完美无缺!
我只是因为我几乎浪费了整整一天试图解决这个问题而感到很开心,并且对解决方案与错误消息无关而感到好笑。希望这为那些面临同样问题的人节省了大量的时间。
仍然想知道为什么会出现这种情况以及为什么错误消息会如此误导......也许有些事情需要闪亮的开发人员去思考?