Menu
Coddy logo textTech

Benannte Vektoren

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

Bisher haben Sie auf Vektorelemente über numerische Positionen zugegriffen. Aber was wäre, wenn Sie stattdessen über aussagekräftige Namen auf sie zugreifen könnten? Benannte Vektoren ermöglichen es Ihnen, jedem Element Labels zuzuweisen, wodurch Ihr Code lesbarer und selbstdokumentierend wird.

Sie können einen benannten Vektor erstellen, indem Sie bei der Erstellung Namen angeben:

ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)

Ausgabe:

  alice     bob charlie 
     25      30      28

Um auf Elemente über den Namen zuzugreifen, verwenden Sie den Namen als Zeichenfolge in eckigen Klammern:

print(ages["bob"])

Ausgabe:

bob 
 30

Sie können auch Namen zu einem bestehenden Vektor hinzufügen, indem Sie die Funktion names() verwenden:

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])

Ausgabe:

math 
  85

Benannte Vektoren sind besonders nützlich bei der Arbeit mit Daten, die über natürliche Bezeichnungen verfügen, wie zum Beispiel beim Speichern von Schülernoten nach Fach oder von Preisen nach Produktname.

challenge icon

Aufgabe

Einfach

Sie erhalten zwei Eingabezeilen:

  1. Eine durch Kommas getrennte Liste von Produktnamen (z. B. laptop,phone,tablet,headphones)
  2. Eine durch Kommas getrennte Liste der entsprechenden Preise (z. B. 999,699,449,199)

Führen Sie die folgenden Operationen aus:

  1. Erstellen Sie einen numerischen Vektor aus den Preisen
  2. Weisen Sie dem Vektor die Produktnamen mithilfe der Funktion names() zu
  3. Geben Sie den gesamten benannten Vektor aus
  4. Geben Sie den Preis des zweiten Produkts aus, indem Sie über seinen Namen darauf zugreifen
  5. Geben Sie den Preis des letzten Produkts aus, indem Sie über seinen Namen darauf zugreifen

Wenn die Eingaben zum Beispiel wie folgt lauten:

apple,banana,orange,grape
2,1,3,4

Sollte die Ausgabe wie folgt aussehen:

apple banana orange  grape 
    2      1      3      4 
banana 
     1 
grape 
    4

Hinweis: Greifen Sie auf das zweite und das letzte Element über ihre Namen (als Strings) zu, nicht über den numerischen Index.

Spickzettel

Benannte Vektoren ermöglichen es Ihnen, jedem Element Bezeichnungen zuzuweisen, wodurch der Zugriff auf Elemente über aussagekräftige Namen anstelle von nur numerischen Positionen möglich wird.

Erstellen Sie einen benannten Vektor, indem Sie bei der Erstellung Namen angeben:

ages <- c(alice = 25, bob = 30, charlie = 28)

Greifen Sie auf Elemente über den Namen zu, indem Sie den Namen als Zeichenfolge in eckigen Klammern verwenden:

ages["bob"]  # Gibt das Element mit dem Namen "bob" zurück

Fügen Sie einem bestehenden Vektor Namen hinzu, indem Sie die Funktion names() verwenden:

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
scores["math"]  # Gibt 85 zurück

Probier es selbst

# Eingabe lesen
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Die durch Kommas getrennten Eingaben parsen
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Schreiben Sie Ihren Code unten
# 1. Erstellen Sie einen numerischen Vektor aus den Preisen
# 2. Weisen Sie dem Vektor die Produktnamen mit names() zu
# 3. Geben Sie den gesamten benannten Vektor aus
# 4. Geben Sie den Preis des zweiten Produkts aus, indem Sie über seinen Namen darauf zugreifen
# 5. Geben Sie den Preis des letzten Produkts aus, indem Sie über seinen Namen darauf zugreifen
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