Tutoriál R/Seznamy

Z WikiSkript

Seznam (list) je výčtem prvků, které mohou být různorodého datového typu, včetně listu. Vyzkoušejte:

my_list <- list("a" = c(1:10), "b" = mtcars, "c" = matrix(1:8, 2), "z" = "ahoj")
str(my_list)
class(my_list) # "list"
is.list(my_list) # TRUE


Vytvoření seznamu z vektoru, matice a datové tabulky

vektor <- 1:12
matice <- matrix(1:12, ncol = 3)
tabulka <- mtcars[1:12, ] # prvních 12 řádků z vestavěné tabulky mtcars

seznam <- list(vektor, matice, tabulka)
seznam

# Pojmenování položek seznamu
names(seznam) <- c("vek", "mat", "tab")
seznam

# Pojmenovat položky jde i přímo v definici seznamu
seznam <- list(vek=vektor, mat=matice, tab=tabulka)


Výběr dat ze seznamu obsahujícího informace o filmu "Tenkrát na západě"

nazev_char <- "Tenkrát na západě"
herci_vect <- c("Henry Fonda", "Claudia Cardinale", "Jason Robards", "Charles Bronson")
scenar_vect <- c("Sergio Leone", "Sergio Donati")

# Vytvoření seznamu
west <- list(nazev = nazev_char, herci = herci_vect, scenar = scenar_vect)

# Výběr vektoru herců - je možné více způsoby
west[[2]]
west[["herci"]]
west$herci

# Výběr druhého herce v pořadí ve vektoru herců
west[[2]][2]
west[["herci"]][2]
west$herci[2]


Přidání dat do seznamu

# Přidání režiséra a roku a do seznamu ''west''
west_updated <- c(west, rok = 1968, rezie = "Sergio Leone")

# Struktura aktualizovaného seznamu
str(west_updated)