Menu
Coddy logo textTech

Iterieren über Vektorelemente

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 63 von 78.

Während die vektorisierten Operationen von R leistungsstark sind, müssen Sie manchmal jedes Element einzeln mit benutzerdefinierter Logik verarbeiten. Eine for-Schleife ermöglicht es Ihnen, die Vektorelemente nacheinander zu durchlaufen.

Der einfachste Weg, einen Vektor zu durchlaufen, ist die direkte Iteration über seine Elemente:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

Ausgabe:

[1] "apple"
[1] "banana"
[1] "cherry"

In jeder Iteration nimmt die Schleifenvariable fruit den Wert des nächsten Elements im Vektor an. Dieser Ansatz ist sauber und lesbar, wenn Sie nur die Werte selbst benötigen.

Sie können Iterationen mit bedingter Logik kombinieren, um Elemente selektiv zu verarbeiten:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

Ausgabe:

[1] 8
[1] 10

Dieses Muster ist nützlich, wenn Sie verschiedene Operationen basierend auf dem Wert jedes Elements anwenden müssen – etwas, das vektorisierte Operationen allein nicht immer bewältigen können.

challenge icon

Aufgabe

Einfach

Sie erhalten zwei Eingabezeilen:

  1. Eine durch Kommas getrennte Liste von Zahlen (z. B. 12,5,18,3,25,8,14)
  2. Ein Schwellenwert (z. B. 10)

Verwenden Sie eine for-Schleife, um über die Vektorelemente zu iterieren:

  1. Erstellen Sie einen Vektor aus den durch Kommas getrennten Zahlen
  2. Iterieren Sie durch jedes Element im Vektor
  3. Für jedes Element, das größer oder gleich dem Schwellenwert ist, geben Sie dieses Element mit print() aus

Wenn die Eingaben beispielsweise wie folgt lauten:

4,15,8,22,6,19,11
10

Sollte die Ausgabe wie folgt aussehen:

[1] 15
[1] 22
[1] 19
[1] 11

Erklärung: Die Schleife prüft jedes Element gegen den Schwellenwert (10). Die Elemente 15, 22, 19 und 11 sind alle größer oder gleich 10 und werden daher ausgegeben. Die Elemente 4, 8 und 6 werden übersprungen.

Spickzettel

Eine for-Schleife ermöglicht es Ihnen, nacheinander durch Vektorelemente zu iterieren und auf jedes Element eine benutzerdefinierte Logik anzuwenden.

Grundlegende Syntax für das Durchlaufen eines Vektors:

fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
  print(fruit)
}

In jeder Iteration nimmt die Schleifenvariable den Wert des nächsten Elements im Vektor an.

Kombination von Schleifen mit bedingter Logik, um Elemente selektiv zu verarbeiten:

numbers <- c(3, 8, 2, 10, 5)
for (num in numbers) {
  if (num > 5) {
    print(num)
  }
}

Dieses Muster ist nützlich, wenn Sie verschiedene Operationen basierend auf dem Wert jedes Elements anwenden müssen.

Probier es selbst

# Eingabe lesen
con <- file("stdin", "r")
numbers_input <- suppressWarnings(readLines(con, n = 1))
threshold <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# Kommagetrennte Zeichenkette in numerischen Vektor umwandeln
numbers <- as.numeric(unlist(strsplit(numbers_input, ",")))

# TODO: Schreiben Sie Ihren Code unten
# Verwenden Sie eine for-Schleife, um den numbers-Vektor zu durchlaufen
# Für jedes Element >= threshold, geben Sie es mit print() aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen