wake-up-neo.com

Gibt es eine Möglichkeit, Markdowns mit RStudio direkt aus Ihrem Arbeitsbereich zu entfernen?

Ich frage mich, ob ich knitr markdown verwenden kann, um schnell einen Bericht mit Objekten zu erstellen, die aus meinem aktuellen Arbeitsbereich stammen. Reproduzierbarkeit ist hier nicht das Problem. Ich habe auch diesen sehr feinen Thread hier gelesen .

Trotzdem erhalte ich eine Fehlermeldung, dass das betreffende Objekt nicht gefunden wurde.

1) Angenommen, ich öffne ein neues Abschriften-Dokument und speichere es.

2) Schreiben Sie einen Block, der auf ein Objekt lm in meinem Arbeitsbereich verweist. ruf summary(mylmobject) an

3) stricken.

Leider wird der Bericht generiert, aber die Regressionsausgabe kann nicht angezeigt werden, da das Objekt nicht gefunden wurde. Beachten Sie, dass es im Allgemeinen funktioniert, wenn ich das Objekt nur in .Rdata speichere und es dann direkt aus der Markdown-Datei lade.

Gibt es eine Möglichkeit, Objekte in R markdown zu verwenden, die sich im aktuellen Arbeitsbereich befinden? Das wäre wirklich schön, wenn man Nicht-R-Leuten eine Ausgabe zeigen könnte, während sie noch arbeiten.

26
Matt Bannert

RStudio öffnet eine new R-Sitzung für knit() Ihrer R-Markdown-Datei, sodass die Objekte in Ihrem aktuellen Arbeitsbereich für diese Sitzung nicht verfügbar sind (es handelt sich um zwei separate Sitzungen). Zwei Lösungen:

  1. ein feature request in RStudio ablegen und sie bitten, das Stricken in der aktuellen R-Sitzung zu unterstützen, anstatt eine neue Sitzung zwangsweise zu starten;
  2. manuell stricken: library(knitr); knit('your_file.Rmd') (oder knit2html(), wenn HTML-Ausgabe in einem Schritt erfolgen soll, oder rmarkdown::render(), wenn Sie R Markdown v2 verwenden
31
Yihui Xie

Es könnte einfacher sein, Daten aus Ihrer anderen Sitzung zu speichern, indem Sie Folgendes verwenden:

save.image("C:/Users/Desktop/example_candelete.RData")

und laden Sie es dann in Ihre MD-Datei:

load("C:/Users/Desktop/example_candelete.RData")
25
mmann1123

Das Markdownreports-Paket ist genau für das Parsen eines Markdown-Dokuments im laufenden Betrieb konzipiert. 

0
bud.dugong

Wie Julien Colomb kommentierte, habe ich herausgefunden, dass es am besten ist, die großen Objekte zu speichern und sie dann explizit zu laden, während ich den Abschlag maßschneidere. Dies ist ein Muss, wenn Ihre Daten durch ein ODBC kommen und Sie die gesamten Abfragen nicht wiederholt ausführen möchten, wenn Sie mit Schriftarten und Designs basteln. 

0
CClarke