问题
I ran into problems while knit the pdf in Rstudio via Rmarkdown. I suppose it stems from too many digits for the value of quoted r variable outside the chunk of code.
---
title: "R Notebook"
output:
pdf_document: default
html_notebook: default
---
```{r}
x <- 11111111111111
```
Testing for `r x`.
Error is
! Missing $ inserted.
<inserted text>
$
l.133 Testing for 1.1111111\times
pandoc: Error producing PDF
Error: pandoc document conversion failed with error 43
Execution halted
Hope someone can help me out here.
回答1:
This happens because long numbers are transformed to scientific notation (like 1.1e11) when printed, and because this scientific notation makes use of latex math symbol \times
. There are two workarounds:
Disable scientific notation. This can be done with
options()
. Add this chunk at the beginning of the document:```{r, echo=FALSE} options(scipen = 99) ```
Print your number in a math environment with
$
(this will preserve scientific notation):Testing for $`r x`$.
来源:https://stackoverflow.com/questions/40570234/rmarkdown-pandoc-document-conversion-failed-with-error-43-because-of-large-numb