Tworzenie list
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 71 z 78.
Wektory są potężne, ale mają jedno ograniczenie: wszystkie elementy muszą być tego samego typu. Gdy musisz przechowywać razem różne typy danych, R udostępnia listy.
Lista to elastyczna struktura danych, która może przechowywać elementy różnych typów, w tym liczby, znaki, wartości logiczne, a nawet inne wektory lub listy. Tworzysz listę za pomocą funkcji list():
my_list <- list(42, "hello", TRUE)
print(my_list)Wynik:
[[1]]
[1] 42
[[2]]
[1] "hello"
[[3]]
[1] TRUEZwróć uwagę, że każdy element jest wyświetlany razem ze swoim indeksem w podwójnych nawiasach. Różni się to od wektorów, w których elementy pojawiają się w jednym wierszu. Listy mogą również zawierać wektory jako elementy:
my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)Wynik:
[[1]]
[1] 1 2 3
[[2]]
[1] "text"
[[3]]
[1] TRUE FALSETa możliwość łączenia różnych typów danych sprawia, że listy idealnie nadają się do reprezentowania złożonych struktur danych, takich jak profil osoby zawierający jej wiek, imię i status członkostwa w jednym obiekcie.
Wyzwanie
ŁatwyOtrzymasz trzy wiersze danych wejściowych:
- Wartość numeryczną (np.
99.99) - Wartość tekstową (np.
Premium Member) - Wartość logiczną zapisaną jako tekst:
TRUElubFALSE(np.TRUE)
Wykonaj następujące operacje:
- Odczytaj trzy dane wejściowe i przekonwertuj je na odpowiednie typy (numeryczny, znakowy i logiczny)
- Utwórz listę zawierającą te trzy wartości w podanej kolejności: najpierw wartość numeryczną, następnie tekst, a na końcu wartość logiczną
- Utwórz drugą listę, która zawiera wektor trzech liczb
c(10, 20, 30)jako pierwszy element oraz tekst"data"jako drugi element - Wyświetl pierwszą listę
- Wyświetl drugą listę
Na przykład, jeśli dane wejściowe to:
42.5
Active User
FALSEWynik powinien być następujący:
[[1]]
[1] 42.5
[[2]]
[1] "Active User"
[[3]]
[1] FALSE
[[1]]
[1] 10 20 30
[[2]]
[1] "data"Pamiętaj, że listy mogą zawierać elementy różnych typów i możesz umieszczać wektory jako elementy listy.
Spróbuj swoich sił
# Wczytaj trzy wartości wejściowe
con <- file("stdin", "r")
numeric_input <- suppressWarnings(readLines(con, n = 1))
text_input <- suppressWarnings(readLines(con, n = 1))
logical_input <- suppressWarnings(readLines(con, n = 1))
# TODO: Napisz swój kod poniżej
# 1. Przekształć wartości wejściowe na odpowiednie typy (numeric, character, logical)
# 2. Utwórz listę zawierającą te trzy przekształcone wartości w podanej kolejności
# 3. Utwórz drugą listę z c(10, 20, 30) jako pierwszym elementem i "data" jako drugim elementem
# 4. Wyświetl obie listyTa 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