Listy nazwane
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 74 z 78.
Podobnie jak wektory nazwane, listy mogą mieć nazwy przypisane do swoich elementów. Dzięki temu kod jest bardziej czytelny i możesz uzyskiwać dostęp do elementów za pomocą znaczących etykiet zamiast pozycji liczbowych.
Możesz przypisać nazwy podczas tworzenia listy:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person)Wynik:
$name
[1] "Alice"
$age
[1] 25
$active
[1] TRUEZwróć uwagę, że dane wyjściowe pokazują teraz $name zamiast [[1]]. Aby uzyskać dostęp do nazwanych elementów, użyj operatora $:
person <- list(name = "Alice", age = 25, active = TRUE)
print(person$age)Dane wyjściowe:
[1] 25Możesz też użyć podwójnych nawiasów z nazwą zapisaną jako ciąg znaków, co jest przydatne, gdy nazwa jest przechowywana w zmiennej:
person <- list(name = "Alice", age = 25)
print(person[["name"]])Wynik:
[1] "Alice"Modyfikowanie nazwanych elementów działa tak samo. Użyj $, aby zmienić istniejące wartości lub dodać nowe:
person <- list(name = "Alice", age = 25)
person$age <- 26
person$city <- "Paris"
print(person)Wynik:
$name
[1] "Alice"
$age
[1] 26
$city
[1] "Paris"Wyzwanie
ŁatwyOtrzymasz trzy wiersze danych wejściowych:
- Tytuł książki (np.
The Great Gatsby) - Autor książki (np.
F. Scott Fitzgerald) - Rok wydania (np.
1925)
Wykonaj następujące operacje:
- Utwórz nazwaną listę o nazwie
bookz trzema elementami:title,authoriyear(przekonwertuj rok na wartość liczbową) - Wypisz tytuł książki za pomocą operatora
$ - Wypisz rok wydania książki za pomocą podwójnych nawiasów, podając nazwę jako ciąg znaków
- Zaktualizuj
year, przesuwając rok o 1, za pomocą operatora$ - Dodaj nowy element o nazwie
availablez wartościąTRUE - Wypisz całą zaktualizowaną listę
Na przykład, jeśli dane wejściowe to:
1984
George Orwell
1949Wynik powinien być następujący:
[1] "1984"
[1] 1949
$title
[1] "1984"
$author
[1] "George Orwell"
$year
[1] 1950
$available
[1] TRUEWyjaśnienie:
book$titlewypisuje wartość tytułubook[["year"]]wypisuje pierwotny rok- Rok zostaje zaktualizowany z 1949 na 1950
- Dodawany jest nowy element
availableo wartościTRUE
Spróbuj swoich sił
# Odczytaj dane wejściowe
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: Napisz swój kod poniżej
# 1. Utwórz listę z nazwanymi elementami o nazwie 'book', zawierającą elementy: title, author i year (przekształć year na wartość liczbową)
# 2. Wyświetl tytuł książki za pomocą operatora $
# 3. Wyświetl rok wydania książki za pomocą podwójnych nawiasów kwadratowych, podając nazwę jako ciąg znaków
# 4. Zmień rok na późniejszy o 1 za pomocą operatora $
# 5. Dodaj nowy element o nazwie 'available' i wartości TRUE
# 6. Wyświetl całą zaktualizowaną listęTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne (AND, OR)Operatory logiczne, część 2 (NOT)Powtórka — prosta logikaLogika wektoryzowana, część 1Logika wektoryzowana, część 27Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz2Zmienne i typy danych
Liczbowy typ danychCałkowity typ danychZnakowy typ danychLogiczny typ danychSprawdzanie typów danychKonwencje nazewnictwaBrakujące wartości: NAPodsumowanie – tworzenie zmiennych8Pętle
Pętla forPętla whilePrzerwijNastępna iteracja (continue)Powtórka — silniaGenerowanie sekwencji (seq, :)Pętle zagnieżdżonePowtórka — dynamiczne wprowadzanie danych11Wektory
Tworzenie wektorów za pomocą c()Dostęp do elementów wektoraModyfikowanie wektorówOperacje na wektorachPowtórka – wektor cenowyPowtórka – odwrócony wektorWektory nazwane14Listy w R
Tworzenie listDostęp do elementów listyModyfikowanie listListy nazwanePowtórka — lista produktów3Operatory, część 1
Operatory arytmetyczneDzielenie całkowite i moduloOperatory przypisaniaPowtórka — prosta matematykaOperatory porównania6Podstawowe wejście/wyjście
Wyświetlanie danychCat jako wyjścieWyjście z użyciem zmiennychOdczyt danych wejściowych za pomocą readline()Podstawy konwersji typówPowtórka — kalkulator wiekuPowtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumenty funkcjiWartości zwracanePowtórzenie — funkcja SigmaPowtórzenie — funkcja walidującaDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator R online