Wie, um die Anzahl der Dezimalstellen im Bericht mit knitr/pander?
Ich weiß, es ist ein ziemlich altes problem, und es wurde diskutiert, bevor, aber ich kann Sie nicht arbeiten, wie erwartet.
Habe ich ein markdown-Dokument, und ich möchte knitr
und pander
zu produzieren .docx-Bericht mit einem einheitlichen Zahlenformat mit zwei Dezimalstellen, wie etwa 0.12, 3.60, 14.00 Uhr, oder 163.21 für beide inline-und chunk-Ausgänge. Ich habe diesen thread gelesen Wie vermeiden Sie die Verwendung von Runden() in jeder \Sexpr{}?, wo es wurde vorgeschlagen, dass pander
können dies automatisch. Jedoch, es scheint nicht zu funktionieren für mich. Bitte lassen Sie mich wissen, was ich hier vermisst.
Dem Skript:
```{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"))
```
Aber die Ergebnisse sind nicht das, was ich erwarten würde (beachten Sie, dass die Auswahl der Dezimalstellen ist fast alles, was zwischen 0 und 7):
- Siehe meine Antwort, eine sehr ähnliche Frage für eine Lösung für das Allgemeine problem, dass pander immer die gleiche Anzahl von Dezimalstellen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was:
Über inline R-chunks: auch call
pander
dort oder gelten einige Haken zu machen das automatisch.Update: es gibt keine Notwendigkeit, um die Anzahl der Ziffern, die hier als Sie nach dem festlegen der Anzahl der Dezimalstellen, sry:
Weiteres update: und warum klappte es mit set
digits
in der zweiten Tabelle für den ersten Lauf:Sowie
pandoc.table
läuftformat
auf eine Spalte-basis, so dass die zahlen in einer Spalte haben die gleiche Anzahl von Nachkommastellen (auch nachfolgende Nullen mit dieser option legen SieTRUE
) basiert auf einer Benutzer-Anfrage.Eröffnen Sie bitte ein issue auf GitHub, falls sich dies wie ein bug: https://github.com/Rapporter/pander
pander
. Jedoch Ihre Lösung funktioniert nicht mit der ersten Tabelle (siehe z.B. F-Wert, welcher eingesetzt werden soll 15.36) Irgendwelche Gedanken, warum...?Haben Sie versucht,
als in http://yihui.name/knitr/demo/output/ ?
pander()
Tabellen sind davon nicht betroffen und (2) wenn Sie angeben, z.B.model2 = lm(weight~1, chickwts);AIC(model1, model2)
bekomme ichmodel1 7 778 model2 2 823
ohne die Nachkommastellen, die mehr ist als nur ein ästhetisches problem.format()
einensmall
argument. Siehe meine Antwort, eine sehr ähnliche Frage für einen workaround 🙂