Menu
Coddy logo textTech

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] TRUE

Zwróć 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 FALSE

Ta 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.

challenge icon

Wyzwanie

Łatwy

Otrzymasz trzy wiersze danych wejściowych:

  1. Wartość numeryczną (np. 99.99)
  2. Wartość tekstową (np. Premium Member)
  3. Wartość logiczną zapisaną jako tekst: TRUE lub FALSE (np. TRUE)

Wykonaj następujące operacje:

  1. Odczytaj trzy dane wejściowe i przekonwertuj je na odpowiednie typy (numeryczny, znakowy i logiczny)
  2. 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ą
  3. Utwórz drugą listę, która zawiera wektor trzech liczb c(10, 20, 30) jako pierwszy element oraz tekst "data" jako drugi element
  4. Wyświetl pierwszą listę
  5. Wyświetl drugą listę

Na przykład, jeśli dane wejściowe to:

42.5
Active User
FALSE

Wynik 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 listy
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator R online