5. Liste¶
Liste su objekti koji mogu sadržavati elemente različitih tipova, uključujući i druge objekte poput liste, matrice, funkcije, itd.
Liste se stvaraju pomoću funkcije list()
.
Liste su jednodimenzionalne strukture podataka, iako elementi unutar liste mogu biti višedimenzionalni.
Primjer
Kreirat ćemo listu mjerenje, koja će sadržavati dan u tjednu ('pon'), potrošnju (11) i logičku varijablu sunčano (TRUE).
mjerenje <- list('pon', 11, TRUE)
mjerenje
- 'pon'
- 11
- TRUE
U R studiju ispis će izgledati ovako:
[[1]]
[1] "pon"
[[2]]
[1] 11
[[3]]
[1] TRUE
Svaki element liste označen je dvostrukom uglatom zagradom [ ] i tako im se može i pristupati.
Na primjer drugom elementu naše liste možemo pristupiti sa mjerenje[2]
mjerenje[2]
Kako i kod vektora, elementima liste možemo pridružiti imena.
To se i u ovom slučaju radi funkcijom names()
names(mjerenje) <- c('tjedan', 'potrošnja', 'sunčano')
mjerenje
- $tjedan
- 'pon'
- $potrošnja
- 11
- $sunčano
- TRUE
To smo mogli dobiti i na način da smo napisali sve zajedno na način:
mjerenje <- list(tjedan='pon', potrošnja=11, sunčano=TRUE)
Sada kada smo imenovali elemente liste, možemo im pristupati koristeći znak $
kao i kod podatkovnih okvira.
Da bi ispisali dan u tjednu iz naše liste mjerenje
, dovoljno je napisati:
mjerenje$tjedan
Dodavanje elementa u listu¶
Novi element liste može se dodati direktno pridruživanjem:
mjerenje[4] <- 0
mjerenje
- $tjedan
- 'pon'
- $potrošnja
- 11
- $sunčano
- TRUE
- [[4]]
- 0
Kao što vidimo ova vrijednost još nema ime.
Pridružimo nova imena listi, koja uključuju i "padaline".
names(mjerenje) <- c('tjedan', 'potrošnja', 'sunčano', 'padaline')
mjerenje
- $tjedan
- 'pon'
- $potrošnja
- 11
- $sunčano
- TRUE
- $padaline
- 0
To se moglo napraviti i u jednom koraku naredbom:
mjerenje$padaline <- 5
Brisanje elemenata liste¶
Element liste (ali i drugih objekata) brišemo tako da mu pridružimo vrijednost NULL.
mjerenje$padaline <- NULL
mjerenje
- $tjedan
- 'pon'
- $potrošnja
- 11
- $sunčano
- TRUE
- 'tjedan'
- 'potrošnja'
- 'sunčano'