KnitR/Octave

Aus Wikiversity
Octave in KnitR mit R-Markdown verwenden

Im Allgemeinen wurde KnitR entwickelt, um ein Berichtsdokument mit R-Code zu kombinieren ("Knit" ein Dokument mit "R"-Code "StrickR"). Das folgende Lernmodul zeigt, wie Octace (numerische Berechnungen mit Open-Source-Software) in den KnitR-Code für Dynamische Dokumentengenerierung integriert werden kann.

Octave-Code in KnitR-Dokumente[Bearbeiten]

Im folgenden Abschnitt wird erläutert, wie die Berechnung mit Octave in KnitR als R-Paket durchgeführt wird.

Arbeits Oktave Code[Bearbeiten]

Angenommen, wir haben den folgenden Octave-Code, der eine Funktion in Octave darstellt und den generierten Code in einer JPG-Datei myfigure.jpg speichert.

 x = -10:0.1:10;
 Parzelle (x, Sünde (x)); 
 drucken -djpg meineAbbildung.jpg 

Einbetten von Octave-Code in ein KnitR-Dokument[Bearbeiten]

Der Code-Chunk in R-Markdown sieht etwas anders aus als der Code-Chunk in der statistischen Interpretersprache R.

  • (Pfad zur Octave) Der Header muss den Speicherort/Pfad zu dem Octave-Interpreter enthalten, der den Code ausführt. Hier befindet sich Octave auf einer Linux-Maschine unter /usr/local/bin/octave/. Sie können den Pfad zu Octave unter Linux und MacOSX durch which octave identifizieren. Unter Windows fügen Sie den Pfad zu octave.exe hinzu.
  • (Echo-Boolean) echo=TRUE druckt den Code im Dokument und führt den Code aus (d.h. generiert die Zahl). Mit echo=FALSE wird der Code zwar ausgeführt, aber der Code erscheint nicht im Dokument.

Nun werden wir den Octave-Code im R-Markdown-Dokument mit den 3 Backticks verwenden. Der nächste Codeschnipsel wird in KnitR-Markdown mit vorangestelltem Text und einem Import in das Dokument für die generierte Abbildung (Plot) integriert.

 Dies ist reiner Text vor ein eingebetteten Code aus Octave.
 ```{octave,engine.path='/usr/local/bin/octave/',results='asis',echo=TRUE}
 x = -10:0.1:10;
 plot (x, sin(x)); 
 print -djpg meineAbbildung.jpg 
 ```
 Hier sind wir wieder im normalen Textmodus und importieren dann die von Octave generierte Abbildung der Sinus-Funktion.
 ![Meine Darstellung der sin-Funktion mit Oktave](myfigure.jpg) 

Der Import der generierten Abbildung ist bei R-Code nicht erforderlich. Bei einem R-Code-Chunk ist ein Plot-Befehl im Code-Chunk im Ausgabedokument sichtbar. Nach den lass3-Backticks befindet sich noch etwas Text im R-Markdown-Dokument. Die generierte Abbildung wird mit einer Standard-Bild-Importsyntax in R-Markdown importiert.