I know it's a fairly old problem, and it has been discussed before, but I can't get it work as expected.
I have a markdown document, and I would like to use knitr
and pander
to produce a .docx report with a consistent numeric format with two decimals, such as 0.12, 3.60, 14.00, or 163.21 for both inline and chunk outputs. I have read this thread How to avoid using round() in every \Sexpr{}? where it was suggested that pander
can do that automatically. However, it does not seem to work for me. Please let me know what I'm missing here.
The script:
```{r, echo=FALSE}
library(knitr)
opts_chunk$set(echo = FALSE, message = FALSE, results = 'asis')
```
```{r}
require(pander)
panderOptions('digits' , 2) #this should do the trick, right?
```
Test
=====
Let's produce some test stats:
```{r}
model1 = lm(weight~feed, chickwts)
anova.m1 = anova(model1)
pander(anova.m1)
pander(coef(summary(model1)))
```
In-line R codes: "Type of food affects body mass of the chicks
(F~`r anova.m1$Df[1]`,`r anova.m1$Df[2]`~ = `r anova.m1$F[1]`, p = `r anova.m1$Pr[1]`)."
```{r}
FILE <- "Test"
system(paste0("pandoc -o ", FILE, ".docx ", FILE, ".md"))
```
But the results are not what I would expect (note that the range of decimals is almost everything between 0 and 7):
What about:
About inline R chunks: also call
pander
there or apply some hooks to do that automatically.Update: there's no need to set the number of digits here as you are after setting the number of decimals, sry:
Further update: and why it worked with set
digits
in the second table for the first run:And
pandoc.table
runsformat
on a column-basis so that the numbers in a column would have the same number of decimals (even trailing zeros with that option set toTRUE
) based on a user-request.Please open an issue at GitHub if this would look like a bug: https://github.com/Rapporter/pander
Have you tried
as in http://yihui.name/knitr/demo/output/ ?