如何在不计算外部脚本的情况下将外部RMD文件包含在夸托qmd脚本中?

wfauudbj  于 2023-02-06  发布在  其他
关注(0)|答案(2)|浏览(132)

我正在创建一个参考文档,其中包含来自各种Rmd文件的代码片段。
例如,我的第一个文件如下所示:
lm.Rmd

---
title: Linear Models
---

# How to Run Linear Models

```{r}
lm(am ~ cyl + mpg, data = mtcars)

Linear Model Results

...

A New Linear Model

...


然后在第二个文件中(现在使用Quarto qmd),我尝试引用这个外部脚本,并将其显示为原始Rmd代码,而不是HTML或Markdown输出。
`reference.qmd`:

title: Reference Document

Linear Model Scripts

Here is the script we used for linear models:

#| file: dir/lm.Rmd
#| eval: false
#| echo: true
#| code-folding: true

More Scripts

...


我想要的是原始的RMD/QMD代码被包含在最终`reference.qmd` HTML文档的"回显"代码框中。但是发生的事情是`lm.Rmd`文件中的降价正在被评估,并且显示出来,就好像我直接在`reference.qmd`文档中写的一样。
最后,我想要的是能够显示任意外部脚本,并使最终用户能够在最终HTML输出中滚动该脚本(在本例中是QMD书籍)。QMD代码块中的`file:`选项似乎部分地帮助我实现了这一点,因为它对`.R`文件很有效,但对`.Rmd`文件似乎不起作用。
lf5gs5x2

lf5gs5x21#

你可以用readLinescat读取文件内容作为输出,然后用sourceCode r类作为输出类,得到R代码块样式的输出。

---
title: Reference Document
---

## Linear Model Scripts

Here is the script we used for linear models:

```{r}
#| echo: false
#| warning: false
#| class-output: "sourceCode r"

cat(readLines("lm.Rmd"), sep = "\n")

More Scripts

#| echo: false
#| warning: false
#| class-output: "sourceCode r"

cat(readLines("lm.R"), sep = "\n")

![](https://i.stack.imgur.com/ad481.png)

**lm.R**的含量

model <- lm(am ~ cyl + mpg, data = mtcars)
model

siv3szwd

siv3szwd2#

我是成功的Quarto和pdf与此解决方案:

```{r}
#| echo: true
#| eval: false # skip evaluation
#| file: C:/directory/script.R

参见:[https://stackoverflow.com/a/75315426/14361772](https://stackoverflow.com/a/75315426/14361772)

相关问题