
Délka a změna délky vektoru
Každý vektor má svou délku, což je počet jeho prvků. Ke zjištění délky definovaného vektoru slouží funkce length().
Každý prázdný objekt je nějakého datového typu. Např. příkazem
> numeric()
[1] numeric(0)
|
vytvoříme prázdný numerický vektor, analogicky příkazem character() vytvoříme prázdný textový vektor, atd. K již existujícímu objektu libovolné délky můžeme přidávat nové složky, a to jednoduše umístěním indexu hodnoty do hranaté závorky. Tak příkazem u[2] <- 5 vytvoříme nový vektor u délky 2 (1. složka není známa, má tedy hodnotu NA, 2. složka má hodnotu 5). Tento příkaz můžeme použít pro jakoukoliv strukturu za předpokladu, že datový typ přidávaných prvků je shodný s datovým typem objektu.
Naopak, ke zkrácení délky objektu je třeba jen operátor přiřazení <-, kde za název proměnné umístíme do hranatých závorek ty indexy prvků, které nás zajímají. Symbol záporného znaménka před vektorem indexů v hranatých závorkách určuje ty hodnoty, které nemají být vypsány na výstupu.
> u <- 5:12 [1] 5 6 7 8 9 10 11 12 > length(u) [1] 8 > u[c(1, 3, 5)] vypíše 1., 3. a 5. prvek vektoru u [1] 5 7 9 > u[-c(1, 3, 5)] vynechá 1., 3. a 5. prvek vektoru u [1] 6 8 10 11 12 |
V případě, že chceme získat prvních n složek vektoru, použijeme příkaz length(v) <- n. Stejným způsobem můžeme i prodlužovat vektory, přidané pozice budou mít hodnotu NA.
> length(u) <- 3
> u přesvědčíme se, že vektor u opravdu obsahuje jen původní 3 složky
[1] 5 6 7
|
Pracujme opět s vektorem u <- 5:12. Analogickými příkazy k výše uvedenému může být u[c(1,2,3)], u[1:3], head(u,3).
> (w <- head(u,3)) [1] 5 6 7 > length(w) <- 5 > w [1] 5 6 7 NA NA |