使用考试文档类在R-markdown中运行代码块

时间:2018-12-02 04:48:46

标签: r-markdown

我想在考试文档类中的问题级别下运行代码块,但是我一直收到错误。我认为这是因为它认为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}

2 个答案:

答案 0 :(得分:1)

有时\begin{"some environment") ... \end{"some environment")在R块中表现不佳。解决方法之一是定义一个新环境。

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

preamble.tex

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

然后,我运行了以下内容。

考试.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

答案 1 :(得分:0)

我设法使工作正常。它需要一些库,并使用(HIV|Cancer|flu|Arthritis|OCD)(\|(HIV|Cancer|flu|Arthritis|OCD))*创建输出。

knitr

问题似乎是R的输出中包含--- 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} ,供Latex处理。我通过使用#来避免这种情况。