Benannte Listen
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 74 von 78.
Genau wie benannte Vektoren können Listen Namen für ihre Elemente zugewiesen bekommen. Dies macht Ihren Code lesbarer und ermöglicht es Ihnen, auf Elemente über aussagekräftige Bezeichnungen anstatt über numerische Positionen zuzugreifen.
Sie können beim Erstellen der Liste Namen zuweisen:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person)Ausgabe:
$name
[1] "Alice"
$age
[1] 25
$active
[1] TRUEBeachten Sie, dass die Ausgabe nun $name anstelle von [[1]] anzeigt. Um auf benannte Elemente zuzugreifen, verwenden Sie den $-Operator:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)Ausgabe:
[1] 25Sie können auch doppelte Klammern mit dem Namen als String verwenden, was nützlich ist, wenn der Name in einer Variablen gespeichert ist:
person <- list(name = "Alice", age = 25)
print(person[["name"]])Ausgabe:
[1] "Alice"Das Ändern von benannten Elementen funktioniert auf die gleiche Weise. Verwenden Sie $, um bestehende Werte zu ändern oder neue hinzuzufügen:
person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)Ausgabe:
$name
[1] "Alice"
$age
[1] 26
$city
[1] "Paris"Aufgabe
EinfachSie erhalten drei Eingabezeilen:
- Ein Buchtitel (z. B.
The Great Gatsby) - Ein Buchautor (z. B.
F. Scott Fitzgerald) - Das Erscheinungsjahr (z. B.
1925)
Führen Sie die folgenden Operationen aus:
- Erstellen Sie eine benannte Liste namens
bookmit drei Elementen:title,authorundyear(konvertieren Sie das Jahr in einen numerischen Wert) - Geben Sie den Titel des Buches mit dem
$-Operator aus - Geben Sie das Jahr des Buches unter Verwendung von doppelten Klammern mit dem Namen als String aus
- Aktualisieren Sie das
yearum 1 Jahr später unter Verwendung des$-Operators - Fügen Sie ein neues Element namens
availablemit dem WertTRUEhinzu - Geben Sie die vollständige aktualisierte Liste aus
Wenn die Eingaben zum Beispiel wie folgt lauten:
1984
George Orwell
1949Sollte die Ausgabe wie folgt aussehen:
[1] "1984"
[1] 1949
$title
[1] "1984"
$author
[1] "George Orwell"
$year
[1] 1950
$available
[1] TRUEErklärung:
book$titlegibt den Wert des Titels ausbook[["year"]]gibt das ursprüngliche Jahr aus- Das Jahr wird von 1949 auf 1950 aktualisiert
- Ein neues Element
availablewird mit dem WertTRUEhinzugefügt
Spickzettel
Listen können Namen für ihre Elemente zugewiesen bekommen, um eine bessere Lesbarkeit und den Zugriff über aussagekräftige Bezeichnungen zu ermöglichen.
Erstellen Sie eine benannte Liste, indem Sie während der Erstellung Namen zuweisen:
person <- list(name = "Alice", age = 25, active = TRUE)Greifen Sie auf benannte Elemente mit dem $-Operator zu:
person$age # Gibt 25 zurückGreifen Sie auf benannte Elemente mit doppelten eckigen Klammern und dem Namen als Zeichenfolge zu:
person[["name"]] # Gibt "Alice" zurückBestehende benannte Elemente ändern:
person$age <- 26Neue benannte Elemente hinzufügen:
person$city <- "Paris"Probier es selbst
# Eingabe lesen
con <- file("stdin", "r")
title <- suppressWarnings(readLines(con, n = 1))
author <- suppressWarnings(readLines(con, n = 1))
year <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Schreiben Sie Ihren Code unten
# 1. Erstellen Sie eine benannte Liste namens 'book' mit den Elementen: title, author und year (year in numerisch umwandeln)
# 2. Geben Sie den Titel des Buches mit dem $-Operator aus
# 3. Geben Sie das Jahr des Buches unter Verwendung von doppelten Klammern mit dem Namen als String aus
# 4. Aktualisieren Sie das Jahr auf 1 Jahr später unter Verwendung des $-Operators
# 5. Fügen Sie ein neues Element namens 'available' mit dem Wert TRUE hinzu
# 6. Geben Sie die vollständige aktualisierte Liste ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe11Vektoren
Vektoren mit c() erstellenZugriff auf VektorelementeVektoren modifizierenVektoroperationenWiederholung – Preis-VektorWiederholung – Umgekehrter VektorBenannte Vektoren14Listen in R
Listen erstellenZugriff auf ListenelementeListen modifizierenBenannte ListenZusammenfassung - Produktliste3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte