当我在 .Rmd
文件中制作一个 Shiny
应用程序来制作一个 isoslides
演示文稿时,该应用程序“表现”得像一个静态 html
页面(交互是不可能的)。
例如,Rmd
文件中的以下代码将生成您无法交互式使用的静态 html
演示文稿。
---
output: ioslides_presentation
---
## Useless App
```{r echo=FALSE, message=FALSE, warning=FALSE}
library(shiny)
ui = fluidPage(
numericInput("n", "How old are you?", value = 1)
)
server = function(input, output, session) {
}
shinyApp(ui, server)
我错过了什么?
最佳答案
不幸的是,你不能这样做。
最接近的做法是将您 Shiny 的应用程序部署到某个地址, 在网络上或本地,然后使用 iframe 将其嵌入到您的幻灯片中。
例如:
---
output: ioslides_presentation
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
## Slide with plot
```{r}
plot(cars)
```
## Slide with Shiny app in iframe
<iframe width = "560" height = "315" src="https://nsgrantham.shinyapps.io/tidytuesdayrocks/"></iframe>
如果您想使用本地应用执行此操作,您可以在单独的 R session 中部署您的应用,然后从浏览器获取本地地址(例如:http://111.0.0.1:1234/ 并将其粘贴为 iframe 源。
关于html - 如何使用 Shiny 和 Rmarkdown 制作交互式 isoslides 演示文稿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69620921/