EvaluateInR

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Mit der Funktion EvaluateInR ist es möglich ein oder mehreilige R-Befehle auszuführen. Die Argumente der Funktion ist eine Zeichenkette welcher in R direkt ausgeführt wird. In der Zeichenkette können Positionvariablen, sowie Aufgabenvariablen auftauchen. Diese Variablen werden dann automatisch in die R-Sprache übersetzt.

Syntax

Eine Variable Test kann dann folgendermaßen beschrieben werden:

 <option name="Test" type="Typ" cas="Evaluator" value="evaluateInR('argument')" />

Eine weitere Möglichkeit wäre folgende:

 <option name="Test" type="Typ" cas="Evaluator" value="evaluateInR('argument1', 'argument2', ..)" />

Bei der zweiten Möglichkeit ist folgendes zu beachten. Das Ergebniss des letzten Arguments im Aufruf bestimmt die Variable Test

Parameter

  • Typ - Entspricht dem Typen der Variable.
  • argument - R-Befehl

Befehlsreferenz für R

In folgender Tabelle sind einige Beispiele, wie R verwendet werden könnte. Die Variablen die damit gesetzt werden, können ebenfalls wieder in R angewandt werden oder auch für andere Zwecke im Evaluator verwendet werden.


argument Typ Beschreibung
list(1, 2.34) List Eine Liste mit 2 Einträgen
list(1, ...., n) List Eine Liste mit n Einträgen
c(1,2,3,4,5,6) Vektor Eine Liste mit der Länge 6
matrix(c(1,2,3,4,5,6),2,3) Matrix Eine 2x3-Matrix mit folgenden Einträgen: [1, 3, 5; 2, 4, 6]

Eine Ausführliche Dokumentation findet man hier: [1]

Beispiele

Eine 3x3-Matrix als Variable mit Namen A erstellt man durch den folgenden Befehl:

 
 <option name="A" type="matrix" cas="Evaluator" value="evaluateInR('matrix(c(1,2,3,4,5,6,7,8,9),3,3)')" />

In dem folgenden Beispiel wird eine Matrixvariable "A" erzeugt und anschließend der Rang von "A" in der Variable "rang" gespeichert.

 <variables>
   <option name="A" type="matrix" cas="Evaluator" value="evaluateInR('matrix(c(1,2,3,4,5,6,7,8,9),3,3)')" />
   <option name="rang" type="vector" cas="Evaluator" value="evaluateInR('rank([var=A])')" />
 </variables>