【问题标题】:Shiny apps in rmarkdown websites and HTML dependenciesrmarkdown 网站和 HTML 依赖项中的闪亮应用
【发布时间】:2025-12-14 23:50:01
【问题描述】:

我最近创建了一个rmarkdown 网站。我现在想要一个突出基本Shiny 功能的页面。对于普通的降价文档,可以使用runtime: shiny 选项。但是,当我使用这个时:

---
title: "Untitled"
runtime: shiny
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
inputPanel(
           sliderInput("obs", "observations:", min = 10, max = 500, value = 100)
           )
           renderPlot({hist(rnorm(input$obs), col = 'darkgray', border = 'white')})
```

并尝试构建站点,我收到以下错误:

我已确保我的所有软件包都是最新的。

我觉得我可能从根本上误解了网站(和Shiny)的工作方式,但我在authoring Shiny 文档、embedded Shiny 页面或rmarkdown website 中找不到我的问题的明确答案指导。

这是Shiny 应用程序根本无法以这种方式部署在网站上的情况吗?还是我只是太密集了?

编辑:sessionifo() 的输出:

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Antergos Linux

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] backports_1.0.5 magrittr_1.5    rprojroot_1.2   htmltools_0.3.5
 [5] tools_3.3.2     yaml_2.1.14     Rcpp_0.12.9     stringi_1.1.2  
 [9] rmarkdown_1.3   knitr_1.15.1    stringr_1.1.0   digest_0.6.12  
[13] evaluate_0.10  

【问题讨论】:

  • 您应该将sessionInfo() 命令的输出添加到此,以便我们可以准确地看到您正在使用的内容。
  • sessionInfo()输出编辑帖子。

标签: html r shiny r-markdown


【解决方案1】:

当您在 r-markdown 中使用 Shiny 控件时,您并没有嵌入应用程序,而是嵌入了应用程序的各个部分。例如,如果您想在 r-markdown 中做那个闪亮的应用程序,您可以使用以下代码:

---
title: "Untitled"
runtime: shiny
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
    inputPanel(
      sliderInput("obs", "observations:", min = 10, max = 500, value = 100)
    )
    renderPlot({hist(rnorm(input$obs), col = 'darkgray', border = 'white')})
```

编译时会产生这种情况(并且控件工作并且情节更新):

【讨论】:

  • Mike - 这在尝试为网站渲染时也不起作用;同样的错误信息。我将使用此代码块并重新表述我的问题,因为我得到的回复似乎并没有明确说明问题所在。