Zum Inhalt springen

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/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](./meineAbbildung.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 3 Backticks befindet sich noch ein wenig Text im R-Markdown-Dokument. Die generierte Abbildung wird mit einer Standard-Bild-Importsyntax in R-Markdown importiert.