【问题标题】:Running code chunk in R-markdown using exam document class使用考试文档类在 R-markdown 中运行代码块
【发布时间】:2018-12-02 04:48:45
【问题描述】:

我想在考试文档类的问题级别下运行代码块,但我不断收到错误消息。我假设这是因为它认为 R 代码的输出是 Latex 代码。

---
output: pdf_document
documentclass: exam
header-includes: \usepackage{float}
---
\begin{questions}
    \question Answer question...
     ```{r}
        iris%>%
           group_by(Species)%>%
           summarize(Total=n())
     ```
    \end{questions}

【问题讨论】:

  • 请发布一个最小可重现的例子。也就是说,函数summaries 应该是summarize
  • 抱歉,这只是一个错字,在我遇到问题的文档中是正确的。我已经从 R-markdown 脚本中添加了标题。该示例使用 iris 数据集。谢谢

标签: r-markdown


【解决方案1】:

有时\begin{"some environment") ... \end{"some environment") 不能很好地与 R 块配合使用。一种解决方法是定义一个新环境。

例如,我用以下信息定义了一个文件 preamble.tex:

preamble.tex

\usepackage{float}
\newcommand{\bQ}{\begin{questions}}
\newcommand{\eQ}{\end{questions}}

然后,我运行了以下命令。

exam.Rmd

---
documentclass: exam
geometry: margin=.5in
output: 
  pdf_document: 
    highlight: haddock
    includes:
      in_header: preamble.tex
      before_body: doc-prefix.tex
      after_body: doc-suffix.tex
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

\bQ

## Including Plots

\question You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

```{r cars}
summary(cars)
```

\question We can keep the pound signs.

\eQ

这是结果输出。

Output

【讨论】:

  • 如果我希望代码块位于\begin{parts} 下,是否有不同的方法来管理它。当我为此添加命令时,它发生了变化。
  • 解决方案怎么样?
【解决方案2】:

我设法让一些工作正常进行。它需要一些库并使用knitr 来创建输出。

---
output: 
  pdf_document:
    keep_tex: true
documentclass: exam
header-includes: \usepackage{float}
---

```{r setup, include=TRUE,echo=FALSE,message=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(dplyr)
library(knitr)
```

\begin{questions}
\question Answer question...
```{r, echo=F, comment=NA}
summary = iris %>% group_by(Species) %>% summarize(Total=n())
kable(summary, format='latex')
```
\end{questions}

问题似乎是在 R 的输出中包含 # 以供 Latex 处理。我通过使用kable 来避免这种情况。

【讨论】:

    猜你喜欢
    • 2019-04-13
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    相关资源
    最近更新 更多