EvaluateInR

Aus JACK Wiki
Wechseln zu: Navigation, Suche

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Mit der Funktion EvaluateInR ist es möglich R-Befehle auszuführen. Das Argument der Funktion ist eine Zeichenkette, welche in R direkt ausgeführt wird. In der Zeichenkette können FillInvariablen (pos), sowie Aufgabenvariablen (var) 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')" />

Parameter

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

Befehlsreferenz für R

In folgender Tabelle sind einige Beispiele, wie R verwendet werden kann. 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 Vektor 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>

Änderungen in JACK3

Die folgenden Änderungen beziehen sich nur auf JACK3.

Die Funktion evaluateInR erlaubt kein Verschachteln von Funktionen. Es ist nur ein String als Argument erlaubt.

Zum Konkatenieren von R-Ausdrücken und Variablen, ist es erlaubt diese direkt im String anzugeben.


Weitere Links