【问题标题】:How to make "options" persist in r markdown如何使“选项”在 r markdown 中持续存在
【发布时间】:2020-03-20 11:44:15
【问题描述】:

我发现 R 中的“选项”函数不会在块中持续存在。

具体来说,我先写下一个像这样的块

options(digits = 15)

然后写下一个单独的块,如

a = 1/2^10
a

但我在前一个块中设置的“数字”选项根本不起作用,并恢复为默认值。

我发现“选项”功能在它所在的特定块中起作用,但是在每个块中写下这些选项很烦人。

有没有办法解决这个问题?任何帮助表示赞赏!

【问题讨论】:

    标签: r r-markdown knitr


    【解决方案1】:

    您可以在任意块中使用options。它们在被重置之前一直有效。

    ---
    output: html_document
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = TRUE)
    ```
    
    
    ```{r test}
    a = 1/2^10
    a
    ```
    
    foo
    
    ```{r test2}
    op <- options(digits=3)  ## the <- assignment stores default values
    a = 1/2^10
    a
    ```
    
    ```{r test3}
    options(op)  ## re-assign
    a = 1/2^10
    a
    ```
    

    产量

    注意:

    我在这里使用digits=3 来证明这是可行的。请注意,digits= 选项考虑最大值。有效数字并丢弃尾随零。

    考虑一下:

    formatC(1/2^10, digits=15, format="f")
    # [1] "0.000976562500000"
    

    这表明您计算的五个尾随零将被丢弃。可能这引起了你的困惑。

    【讨论】:

    • 谢谢!不知道 r 设置也适用于 knitr 以外的选项。还有一件事,如果要更改文档中间的base选项该怎么办?
    • @DayDream 其实就算叫setup也只是一个普通的代码块。尽管可以将这些东西放在一起,但最顶部的这样一个块很有用。您可以在脚本中的任何位置使用options。请参阅对我的答案的编辑。
    猜你喜欢
    • 2023-03-28
    • 2021-05-20
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    相关资源
    最近更新 更多