将闪亮的应用程序嵌入Rmarkdown html文档

时间:2020-07-01 11:04:24

标签: html r shiny r-markdown

我能够创建Rmarkdown文件,并且试图将闪亮的应用程序嵌入html输出。交互式图形显示了是否在Rmarkdown文件中运行代码。但是在html输出中,它仅显示一个空白框。有人可以帮忙解决吗?

运行Rmarkdown文件中的代码:

enter image description here

在html输出中:

enter image description here

我的Rmarkdown文件(请以某种方式在我自己的末尾添加三个代码符号):

        ---
        title: "Data Science - Tagging"
        pagetitle: "Data Science - Style Tagging"
        author: 
          name: "yyy"
        params:
          creation_date: "`r format(Sys.time(), c('%Y%m%d', '%h:%m'))`"
        runtime: shiny
        ---

        ```{r plt.suppVSauto.week.EB, out.width = '100%'}

        data <- data.frame(BclgID = c('US','US','US','UK','UK','UK','DE','DE','DE'), 
                           week = as.Date(c('2020-06-28', '2020-06-21', '2020-06-14', '2020-06-28', '2020-06-21', '2020-06-14', '2020-06-28', '2020-06-21', '2020-06-14')), 
                           value = c(1,2,3,1,2,2,3,1,1))

        shinyApp(
  
          ui <- fluidPage(
  
          radioButtons(inputId = 'BclgID', label = 'Catalog', 
                       choices = type.convert(unique(plot$BclgID), as.is = TRUE),
                       selected = 'US'),
          plotOutput("myplot")
          ),


          server <- function(input, output) {
  
            mychoice <- reactive({
              subset(data, BclgID %in% input$BclgID)
            })
  
            output$myplot <- renderPlot({
              if (length(row.names(mychoice())) == 0) {
                  print("Values are not available")
            }
              p <- ggplot(mychoice(), aes(x=as.factor(week), y=value)) + 
                geom_line() + 
                labs(title = "test",
                     subtitle = "",
                     y="Value", 
                     x ="Date") +
                theme(axis.text.x = element_text(angle = 90)) +
                facet_wrap( ~ BclgID, ncol = 1)
              print(p)
  
            }, height = 450, width = 450)
  
        }
  
        )

1 个答案:

答案 0 :(得分:0)

我看到很久以前就有人问过这个问题,所以你可能已经继续前进了,但我遇到了同样的问题,这个问题最先出现,所以我会回答它,以防其他人遇到这个问题。< /p>

我在这个页面找到了答案: https://community.rstudio.com/t/embedding-shiny-with-inline-not-rendering-with-html-output/41175

它的缺点是需要运行而不是呈现闪亮的文档。而不是打电话:

>rmarkdown::render("filename.rmd")

我们需要调用:

>rmarkdown::run("filename.rmd")

如果您在 Rstudio 中,在 RMD 中使用 Shiny 时,“knit”功能似乎从渲染更改为运行。