代码之家  ›  专栏  ›  技术社区  ›  ksinva

有没有一种方法可以使用R在Quarto中渲染动态标题?

  •  0
  • ksinva  · 技术社区  · 1 年前

    我有几个标题动态变化的Quarto文档。到目前为止,我已经手动输入了它们,但它需要可以用不同的数据集进行复制。

    假设我有一组型号作为tibble中的列。

    Model <- sample(1:1000)
    models <- tibble(Model = Model[1:10])
    

    我想使用中的值动态创建一个Header 2大小的标头 models$Model 列。以下是我在代码块中尝试的内容:

    {r, echo=FALSE, results='asis'}
    
    header <- paste0('Model #', models$Model[[1]])
    
    cat(paste0('##', header))
    

    不幸的是,这只输出一个前面有两个##的普通文本,如下所示:

    ##型号#687

    是否有方法将其呈现为标头?非常感谢。

    1 回复  |  直到 1 年前
        1
  •  2
  •   stefan    1 年前

    您必须添加一个空格来分隔 ## 例如,您可以使用 paste 而不是 paste0 但实际上两者都不是必需的,即您可以使用 cat 没有 paste(0) :

    ---
    title: "Untitled"
    format: html
    editor: visual
    ---
    
    ```{r}
    set.seed(123)
    
    Model <- sample(1:1000)
    models <- data.frame(Model = Model[1:10])
    ```
    
    ```{r , echo=FALSE, results='asis'}
    header <- paste0('Model #', models$Model[[1]])
    
    cat(paste('##', header))
    ```
    
    ```{r , echo=FALSE, results='asis'}
    header <- paste0('Model #', models$Model[[1]])
    
    cat('##', header)
    ```
    

    enter image description here