Schleifen in R

Gibt es Schleifen in R? Wie sieht die Syntax aus? Welche Besonderheiten sind bei Inkrement und Dekrement zu beachten? Diese Fragen möchten wir hier beantworten.

Schleifen gehören zu den grundlegenden Elementen der Programmierung. Sie ermöglichen es, Code wiederholt auszuführen. Eine typischen Anwendung in der Statistik wäre das wiederholte Subtrahieren des Mittelwertes bei der Berechnen der Varianz.

Bei der Anwendung von Schleifen spielen das Inkrement (das schrittweise Erhöhen eines Variablenwertes) sowie das Dekrement (das schrittweise Verringern eines Variablenwertes) eine entscheidende Rolle.

Grundsätzlich lassen sich drei Formen von Schleifen unterscheiden:

  • die for-Schleife
  • die while-Schleife
  • die do-while-Schleife

Die for-Schleife

Sinn und Zweck der for-Schleife ist es, einen Code n mal auszuführen. Die Variable n ist hierbei eine ganze Zahl (englisch integer) und in der Regel beim Start der Schleife mit einem festen Wert definiert.

In R stellt sich die for-Schleife so dar:

n <- 5
for(i in 0:n) {
print(i);
}

Der Variablen n wird wieder der Wert 5 zugewiesen. Das Inkrement wird hier durch 0:n gebildet. An dieser Stelle wird der Startwert der Variablen i auch auf 0 definiert. Eine gesonderte Inkrementierung ist bei dieser Form der Schleife nicht erforderlich. Die Bildschirmausgabe lautet hier:

0
1
2
3
4
5

Das Dekrement (Rückwärtszählen).
In R lautet die for-Schleife mit Dekrement:

5
4
3
2
1
0

Ob inkrementiert (hochgezählt) oder dekrementiert (runtergezählt) wird in R automatisch erkannt. In m:n bildet m den Startwert, n den Stoppwert. Die for-Schleife ist damit in R komfortabel nutzbar. Etwas unkomfortabler wird es bei der while-Schleife.

Die while-Schleife

Die while-Schleife dienst grundsätzlich dazu, einen Code so lange auszuführen, wie eine bestimmte Bedingung erfüllt ist. Die Syntax der while-Schleife in R lautet:

i <- 0 
while (i < 5) {
   i = i+1;
   print(i);
}

Die do-while-Schleife

Die while-Schleife ist kopfgesteuert. Das heißt, bei jedem Durchlauf wird am Anfang (am Schleifenkopf) die Bedingung geprüft, die erfüllt sein muss, damit die Schleife ausgeführt wird. Unter bestimmten Umständen kann es jedoch sinnvoll sein, am Schleifenfuß die Bedingung zu prüfen, unter der die Schleife ausgeführt wird. Diese Anforderung erfüllt die do-while-Schleife.

Ein der do-while-Schleife ähnliches Gebilde gibt es in R als repeat-Schleife. Die Syntax lautet:

i <- 0 repeat { print(i); i = i+1; if(i > 5) break;
}

Die Bildschirmausgabe lautet:

0
1
2
3
4
5

In Sprachen wie Java sind zwei weiterführende Elemente der Programmierung eingebettet. Die Befehle if und break. Der Befehl if gehört zusammen mit else und else if zu den wichtigsten Möglichkeiten, Bedingungen abzuprüfen und zu verzweigen. Der Befehl break gehört zusammen mit continue zu wichtigen Erweiterungen für Schleifen. Hierüber lassen sich umfangreiche Schleifenkonstruktionen erzeugen.

Grundsätzlich lassen sich auch in R Schleifen effizient einsetzen, um Abläufe zu steuern und zu automatisieren.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.