实际上,您的代码中存在一些问题,这些问题共同导致了问题:
的
第一
</强>
:第一个是在评论中确定的 - 您的使用
rm(list=ls())
正在删除以后需要的功能。
的
第二
</强>
: 您的
plotOutput()
正在使用id
“plot1”
而你的renderPlot指的是
“barplot”
。我认为这是一个简单的转换错误,从你切换到
shinydashboard
。使它们相同,这将有所帮助。
的
第三
</强>
:这是三个中更严重的一个。
shinydashboard
有一个已知问题,描述得很好
这里
,其中有多个元素
menuItem
导致丢失链接内容的属性
tabItem
秒。您可以通过手动设置这些值的自定义函数来克服这个问题,然后将其包装起来
menuItem
调用该函数,注意在函数中指定tabName。
convertMenuItem <- function(mi,tabName) {
mi$children[[1]]$attribs[‘data-toggle’]=”tab”
mi$children[[1]]$attribs[‘data-value’] = tabName
mi
}
</code>
针对您的情况更新的UI将如下所示:
ui <- dashboardPage(
… #Other elements remain unchanged
dashboardSidebar(
sidebarMenu(
convertMenuItem(menuItem(“Data Selection”, tabName = “dc”, icon = icon(“dashboard”),
checkboxGroupInput(inputId = “sel_com”,
label = “Company Selection:”,
choices = c(“Company 1”,”Company 2”,”Company 3”),
selected = “Company 1”),
selectInput(inputId = “y”,
label = “Performance Variable”,
choices = c(“Profits (in Millions)” = “Profits_MM”,
“Sales (in Millions)” = “Sales_MM”),
selected = “Profits_MM”),
sliderInput(“year”,”Year Selection:”,
min=2016,
max=2018,
value=c(2017,2018),
step=1)), tabName=”dc”)
)
),
… #Other elements remain unchanged
)
</code>