Funktionen: Technische und konzeptuelle Aspekte
Formalisierte (kognitive) Modelle lassen sich als Funktionen programmieren, so dass sie bei Programmierung an der benötigten Stelle einfach aufgerufen werden können. Funktionen sind auch aus technischen Gründen notwendig, um zum Beispiel Parallelisierung bei der Ausführung von R-Code einfach umzusetzen. Funktionen sollten möglichst allgemein programmiert werden, so dass diese flexibel eingesetzt werden können, ohne dass diese stärker angepasst werden müssen. Eine Funktion besteht aus Inputargumenten, diese werden durch die Modellgleichungen in einen Output überführt.
In der folgenden Abbildung ist ein Modell eines (Prozess-)Modells dargestellt. Dieses beinhaltet Modellfunktionen. Funktionen scheinen somit strukturell gut zur formalisierten kognitiven Modellierung zu passen.
Von \(t\) zu \(t+1\) verändern sich die Zustände \(S\) der Welt. Wie die Zustände von \(t\) in \(t+1\) überführt werden, ist in der Übergangsfunktion \(F(S)\) dargestellt. \(F(S)\) ist uns nicht bekannt, als Modellierer versuchen wir jedoch die relevanten Zustände zu \(t\) als Inputargumente für die Modellfunktion \(f(s)\) zu messen (= \(E(S\))), um damit Aussagen bzw. Hypothesen zu den Zuständen zu \(t+1\) ableiten zu können.
Funktionen in R bestehen aus einem Funktionsbefehl, der in Klammern ()
Inputargumente listet. Ein Befehl in R ist zum Beispiel die Berechnung des Mittelwerts. Der Befehlsname is mean
und als Argument wird mindestens ein Objekt in ()
benötigt, über den der Mittelwerte gerechnet werden soll.
Eigene Funktionen lassen sich in R einfach programmieren. Die folgende Funktion rechnet über die Zahlen im Objekt r_object
den Mittelwert und zusätzlich den Median, wenn das Funktionsargument median
auf 1
gesetzt wird.
Dem Funktionsnamen meine_funktion
folgt der Befehl function()
. Innerhalb der Klammern ()
werden die Inputargumente eingetragen. Das Argument median
hat einen default Wert von 1
, d. h., per default wird auch der Median gerechnet. Dann folgt die eigentliche Funktion innerhalb der geschweiften Klammern {}
. Am Ende steht der Befehl return()
, dieser beinhaltet das Ausgabeobjekt (= Output) der Funktion.
Die Funktion kann nun, nachdem sie in R eingelesen wurde, ausgeführt werden.
meine_funktion(r_object = r_vector)
mean median
0.04144602 0.11476745
meine_funktion(r_object = r_vector, median = 0)
mean
0.04144602