gpt4 book ai didi

html - 将 Shiny 的应用程序嵌入到 Rmarkdown html 文档中

转载 作者:行者123 更新时间:2023-12-05 06:14:53 25 4
gpt4 key购买 nike

我能够创建一个 Rmarkdown 文件,并且我正在尝试将一个 Shiny 的应用程序嵌入到 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)

}

)

最佳答案

编辑:一年后再回来,以防有人仍然觉得这很有用。对 shiny 和 rmarkdown 做了更多的工作,所以我更好地理解了两者,并没有真正的理由将它们一起使用。 Rmarkdown 的优势在于能够提供可读的静态 pdf,其中 shiny 是动态的并且需要输入。虽然我在下面的回答有效,但如果您将 shiny 用于 GUI,请考虑删除您所写内容的 rmarkdown 部分。它可能不会添加太多/任何东西,并且尝试将两者一起使用会导致头痛。

原回答如下:

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

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

它的缺点是 Shiny 的文档需要运行而不是渲染。而不是调用:

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

我们需要调用:

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

如果您在 Rstudio 中,当在 RMD 中使用 shiny 时,“knit”函数似乎从渲染变为运行。

关于html - 将 Shiny 的应用程序嵌入到 Rmarkdown html 文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62675409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com