有光泽:includeHTML与navbarMenu不能很好地配合

时间:2014-11-18 16:36:41

标签: r shiny shiny-server

让我们考虑一下使用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上提出问题?

谢谢,菲利普

1 个答案:

答案 0 :(得分:0)

我有同样的问题。有两种方法可以解决这个问题:

  1. 尝试使用includeMarkdown()代替includeHTML()。您可能会丢失格式,但它会起作用。

  2. 单击NavbarMenu,然后点击键盘上的Space,将出现选项卡面板。

  3. 我仍然在寻找使用NavbarMenu和includeHTML同时工作的方法。