我正在尝试在线部署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
,但无济于事。非常感谢您的帮助!试图部署此应用程序数小时,但似乎无法弄清楚。
最佳答案
这很奇怪...但是我想出了最奇怪的解决方案。而且它与shinythemes
包无关。什么?!
因此,基本上,在我的server.R
代码中,我包含了DT
和rsconnect
软件包。在ui.R代码中,我使用了hr()
和dataTableOutput()
函数。现在...事情是这些功能包含在一个以上已加载的包中:hr()
既亮着又rsconnect。dataTableOutput()
既亮又DT。
我只是在ui.R中的这些功能之前添加了名称空间shiny::
:shiny::hr()
shiny::dataTableOutput()
当我再次尝试将它们部署在Shinyapps上时……哇!该应用程序完美运行!
我只是被我浪费了整整一天的时间试图弄清楚这一事实,而被解决方案与错误消息无关的事实所打扰。希望这可以为面临相同问题的任何人节省大量的时间。
还是想知道为什么会这样,为什么错误消息如此令人误解……也许有些让闪亮的开发人员考虑的东西?
关于r - ShinyApps:在Shinyapps.io上部署时,“shinythemes”软件包未加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33408878/