Оцените переменную так, чтобы она могла появиться в блоке кода для уценки R - PullRequest
0 голосов
/ 28 ноября 2018

Я использую R Markdown для генерации тренировочных задач для класса статистики, и мне нравится включать некоторую случайность, чтобы было несколько версий одной и той же проблемы.Студенты только начинают использовать R, и я хотел бы иметь возможность показывать правильные значения в коде ответа R.По сути, я хочу добиться чего-то подобного ...

Вопрос:

```{r, include=FALSE}
conf <- sample(c(0.9,0.95,0.99), 1)
```
What is the `r conf * 100`% confidence interval for the slope coefficient of your regression "reg"?

Ответ:

To get the correct answer run the following code
```{r}
confint(reg, level = magic_function(conf))
````

, где magic_function - это некоторая функция, которая сделает кодблок в сгенерированном документе выглядит примерно так ...

confint(reg, level = 0.95)

1 Ответ

0 голосов
/ 28 ноября 2018

Спасибо пользователю 2554330 за то, что поставили меня на правильный путь.Следующее дает мне желаемый результат, хотя может быть лучший способ сделать это

Ответ:

To get the correct answer run the following code
```{r, include=FALSE}
code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
```
`r paste(knitr::knit(text = code), collapse = '\n')`

ОБНОВЛЕНИЕ

Кажетсячто если вы хотите иметь более одного такого фрагмента кода, вам нужно будет использовать knit_child вместо knit, например, так:

Ответ:

To get the correct answer run the following code
```{r, include=FALSE}
code <- c("```{r}", knit::knit_expand(text = "confint(reg_result, level = {{conf}})", conf = conf), "```")
```
`r paste(knitr::knit_child(text = code), collapse = '\n')`
...