让我们考虑一下使用server.R和ui.R文件的简单闪亮应用程序。我只是稍微修改了RStudio的闪亮模板:
server.R:
library(shiny)
shinyServer(function(input, output) {
output$distPlot <- renderPlot({
# generate bins based on input$bins from ui.R
x <- faithful[, 2]
bins <- seq(min(x), max(x), length.out = input$bins + 1)
# draw the histogram with the specified number of bins
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
})
现在,关于ui.R,我想要包含两个HTML文件。这些是由R Markdown生成的,我只是称它们为test1和test2。代码如下:
library(shiny)
path1 <- "test1"
path2 <- "test2"
shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30)
),
# Show a plot of the generated distribution
mainPanel(
tabsetPanel(id="tabs",
tabPanel("One",
plotOutput("distPlot")
),
# navbarMenu("Simulation Features",
tabPanel("Two",
HTML("Test"),
includeHTML(path1)
),
tabPanel("Three",
includeHTML(path2)
)
# )
))
)
))
请注意,navbarMenu行(以及相应的右括号)已注释掉。此代码在Windows和Mac以及闪亮的服务器上按预期运行。
但是,如果我取消注释navbarMenu行,则代码只能在Mac上运行。在Windows和闪亮的服务器上,导航变得不负责任,即您可以根据需要单击,没有任何反应。
在Windows上出现问题时,这里是sessionInfo:
> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] shiny_0.10.2.1
loaded via a namespace (and not attached):
[1] bitops_1.0-6 caTools_1.17 digest_0.6.4 httpuv_1.3.0
[5] Rcpp_0.11.2 RJSONIO_1.3-0 tools_3.0.3 xtable_1.7-3
有没有其他人有这个问题?任何变通办法,或者我应该在Github上提出问题?
谢谢,菲利普
答案 0 :(得分:0)
我有同样的问题。有两种方法可以解决这个问题:
尝试使用includeMarkdown()代替includeHTML()。您可能会丢失格式,但它会起作用。
单击NavbarMenu,然后点击键盘上的Space,将出现选项卡面板。
我仍然在寻找使用NavbarMenu和includeHTML同时工作的方法。