Ich habe eine benutzerdefinierte Funktion erstellt, die mfrow auf nxn setzt und n^2 Streudiagramme mit mehreren Datensätzen für jedes Diagramm basierend auf einer Eingabeliste von Datenrahmen erstellt. Die Unterschrift meiner Plotten Funktion sieht wie folgt aus:R Markdown lässt das benutzerdefinierte Diagramm verschwinden, wenn ich echo = FALSE setze
plot.return.list<-function(df.list,num.plot,title)
Wo df.list
ist meine Liste von Datenrahmen ist num.plot
die Gesamtzahl der Stellplätze (verwendet mfrow
eingestellt) zu erzeugen und title
ist die gesamte Handlung Titel (der Funktion erzeugt Titel für jedes einzelne Sub-Diagramm).
Dies erstellt Plots gut, wenn ich die Funktion von der Konsole aus ausführen. Aber ich versuche, diese Zahl in einen Abschlag Dokument zu erhalten RStudio verwenden, etwa so:
```{r, fig.height=6,fig.width=6}
plot.return.list(f.1.list,4,bquote(atop("Numerical Approximations vs Exact Soltuions for "
,dot(x)==-1*x*(t))))
```
Da ich nicht die echo
Option in meiner {r}
Anweisung festgelegt habe, diese Drucke sowohl den Plotten-Code als auch die Handlung selbst. Allerdings, wenn meine erste Zeile liest stattdessen:
{r, fig.height=6,fig.width=6,echo=FALSE}
Dann verschwinden sowohl der Code UND die Handlung aus dem endgültigen Dokument.
Wie mache ich die Handlung OHNE den Code erscheinen? Laut dem Beispiel, das RStudio gibt, sollte die Einstellung echo=FALSE
die Handlung ohne den Code erscheinen lassen, aber das ist nicht das Verhalten, das ich beobachte.
EDIT: Ich habe mein Problem bis zu kable
verfolgt. Egal, ob ich eine benutzerdefinierte Plot-Helfer-Funktion mache oder nicht, jeder Anruf bei kable
tötet meine Handlung. Dies kann in einem Abschlag wiedergegeben werden:
---
title: "repro"
author: "Frank Moore-Clingenpeel"
date: "October 9, 2016"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
options(default=TRUE)
repro.df<-data.frame((0.1*1:10)%*%t(1:10))
```
```{r, echo=FALSE}
kable(repro.df)
```
```{r, fig.height=6,fig.width=6,echo=FALSE}
plot(repro.df[,1],repro.df[,2])
```
In diesem Code wird die Handlung nicht zeichnen, weil ich echo
auf false gesetzt ist; die Flagge zu entfernen macht die Handlung sichtbar
Beachten Sie auch, dass in meinem Repro-Code, kable
eine Tabelle in der letzten Zeile mit einem Haufen Müll produziert - ich weiß nicht, warum, aber das ist nicht wahr für meine vollen Originalcode, und ich glaube nicht, dass es mit meinem Problem zusammenhängt.
Bitte geben Sie ein [reproduzierbares Beispiel] an (http: // stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproduzierbar-Beispiel). –
Ich bin ratlos. Ich erstelle einen Dummy-Datensatz und schließe ihn an meine Funktion an, und plötzlich funktioniert es wie erwartet in der Abschrift. Ich habe keine Ahnung, was ich für Repro mache, ist anders als mein ursprünglicher Code. Es ist die exakt gleiche Formel, mit den gleichen formatierten Daten, die darin steckten – Frank
Ahhh, das ist die frustrierendste Art von Bug! Wie wäre es, wenn Sie "stricken" (statt "rendern") und die "md" -Datei untersuchen würden? Wenn das funktioniert, dann mischt etwas über "render" (das ist im Wesentlichen "stricken" und dann "Pandoc") Dinge auf? Oder wir können rmarkdown ausschließen und uns auf knitr konzentrieren. –