Running code chunk in R-markdown using exam document class

江枫思渺然 提交于 2019-12-11 16:59:33

问题


I would like to run a code chunk under a question level in the exam document class, but I keep receiving errors. I am assuming this is because it believes the output from the R-code is Latex code.

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

回答1:


Sometimes \begin{"some environment") ... \end{"some environment") doesn't play well with R chuncks. One work around is to define a new environment.

For example, I defined a file preamble.tex with the following information:

preamble.tex

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

Then, I ran the following.

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

Here is the resulting output.

Output




回答2:


I managed to get something working. It needs some libraries and uses knitr to create the output.

---
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}

The problem seems to be the inclusion of # in the output from R for processing by Latex. I avoid this by using kable.



来源:https://stackoverflow.com/questions/53577496/running-code-chunk-in-r-markdown-using-exam-document-class

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!