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'