Как сделать так, чтобы «опции» сохранялись в уценке - PullRequest
1 голос
/ 20 марта 2020

Я обнаружил, что функция "options" в R не сохраняется в чанках.

Чтобы указать c, я сначала записываю чанк, например

options(digits = 15)

и затем запишите отдельный блок, например

a = 1/2^10
a

Но опция «цифры», которую я установил в предыдущем блоке, вообще не работает и возвращается к значению по умолчанию.

Я обнаружил, что функция "options" работает в указанном блоке c, в котором она находится, но раздражает записывать эти параметры в каждый отдельный блок.

Есть ли способ исправить это? Любая помощь приветствуется!

1 Ответ

0 голосов
/ 20 марта 2020

Вы можете использовать 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
```

Выходы

enter image description here

Примечание:

Я использую digits=3 здесь, чтобы продемонстрировать, что это работает. Обратите внимание, что опция digits= учитывает макс. значащие цифры и отбрасывает конечные нули.

Учтите это:

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

Это показывает, что пять конечных нулей вашего вычисления будут отброшены. Возможно, это вызвало ваше замешательство.

...