使用存储为向量中元素的源代码创建夸托或R Markdown文档代码块

dkqlctbz  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(144)

我在想是否有人能帮忙找出(如果可能的话)获取存储在R中的向量中的源代码,并将其传递给Quarto或Markdown中的代码块。本质上,我尝试做的事情与使用代码块的file=选项从外部数据文件读取代码块的源代码是一样的。但我不想将它指向包含源代码的外部文件,而是想从一个vector元素中提取源代码。
例如,如果我有一个名为myfile.R的文件,其中包含以下R代码:

x <- rnorm(100)
hist(x)

我想把这段代码拉到一个代码块中,然后用Quarto或R渲染,我可以简单地使用:

```{R, echo=TRUE, file="myfile.R"}

这将创建一个Quarto/Markdown文档,打印`myfile.R`的内容,然后生成一个直方图。然而,如果代码不是存储在外部文件中,而是存储在R中的一个向量元素中呢?例如,假设我有一个存储在`myfile.R`中的相同代码,只是它存储为source_code_vector中的一个字符变量。以及可能包含源代码的一些其他元素:

source_code_vector <- c("x <- rnorm(100) hist(x)", "y<-rpois(100, 5) hist(y)")


如何访问`source_code_vector`的第一个元素中的代码并将其传递到代码块中?我想应该是这样的(但这显然是不对的,因为代码不是存储在文件中,而是存储在向量中):

我意识到我总是可以把元素的值写出到一个文本文件中,然后在文本文件中读回到代码块中,但这似乎效率很低,我想有一个更好的方法来做到这一点?
谢谢。
c2e8gylq

c2e8gylq1#

您可以使用块选项code代替file:https://yihui.org/knitr/options/#code-chunk

```{r, code=source_code_vector[1]}

相关问题