Vektors

Vektors ir viendimensionāla datu struktūra, kas var sastāvēt tikai no viena tipa datiem – skaitļiem vai rakstu zīmēm. Vektora garums nav ierobežots - tas var būt tikai vienu zīmi liels, vai arī sastāv no ļoti daudz zīmēm vai skaitļiem.

Vektora definēšana

Lai nodefinētu vektoru, kas sastāv tikai no viena mainīgā, jāraksta vektora nosaukums un aiz apzīmējuma "<-" jāraksta nepieciešamā vērtība:

>vektors1 <- "viens"

Lai varētu apskatīt kādus mainīgos satur konkrētais objekts (šajā gadījumā vektors), ir jāraksta objekta nosaukums un jāspiež Enter:

> vektors1
[1] "viens"

Lai vektorā iekļautu vairākus mainīgos, ir jālieto funkcija c(), kur iekavās tiek norādīti mainīgie, kas iekļausies vektorā (starp mainīgajiem jāliek komats):

> vektors2 <- c(1, 2, 3, 4, 5)
> vektors2
[1] 1 2 3 4 5

Ja nepieciešams nodefinēt skaitļu sekvenci ar vienādu intervālu starp tiem, izmanto funkciju seq(). Funkcijas pieraksts ir seq(from=sākuma.skaitltis,to=beigu.skaitlis,by=intervāla.garums).

> vektors3 <- seq(from = 1, to = 5, by = 1)
> vektors3
[1] 1 2 3 4 5

Lai atkārtotu kādus vektora elementus, izmanto funkciju rep(), kurā norāda atkārtojamos elementus, kā arī norāda vai elementi ir jāatkārto visi uzreiz noteiktu reižu skaitu (arguments times) vai arī katrs elements ir jāatkārto noteiktu reižu skaitu atsevišķi (arguments each):

> vektors4 <- rep(x = c("A", "B", "C"), times = 3)
> vektors4
[1] "A" "B" "C" "A" "B" "C" "A" "B" "C"

> vektors5 <- rep(x = c("A", "B", "C"), each = 3)
> vektors5
[1] "A" "A" "A" "B" "B" "B" "C" "C" "C"

Funkciju rep() var izmantot arī kādu daļu no funkcijas c(), lai atkārtotu kādu no vektora elementiem:

> vektors6 <- c(1, 2, 3, rep(4, 5), 5, 6)
> vektors6
[1] 1 2 3 4 4 4 4 4 5 6

Ja ir nepieciešams uzzināt kādu konkrētu vektora elementa vērtību, ir jāraksta konkrētā vektora nosaukums un kvadrātiskajās iekavās jāliek elementa kārtas skaitlis, kuru vēlas noskaidrot.

> vektors6[3]
[1] 3

Pēc šāda paša principa ir iespējams izvēlēties arī vairākus elementus, bet tādā gadījumā papildus ir jālieto funkcija c(), lai norādītu, kurus elementus vēlas atlasīt.

> vektors6[c(3, 5, 7)]
[1] 3 4 4

Ir iespējams arī norādīt, kurus elementus nevajag atlasīt. Lai to izdarītu, pēc kvadrātiskās iekavas ir jāliek mīnusa zīme un tad elementus, kurus nevēlas iekļaut (šajā gadījumā no pirmā līdz trešajam elementam).

> vektors6[-(1:3)]
[1] 4 4 4 4 4 5 6

Vairākus vektorus var ļoti vienkārši savā starpā apvienot, izmantojot funkciju c():

> vektors7 <- c(vektors2, vektors6)
> vektors7
[1] 1 2 3 4 5 1 2 3 4 4 4 4 4 5 6

Darbības ar vektoriem

Vektorus var ļoti ērti izmantot, lai veiktu aprēķinus ar tajā iekļautajiem skaitļiem, piemēram, aprēķinātu vidējo (mean()), maksimālo (max()) vērtību, mediānu (median()), diapazonu (range()), elementu summu (sum()), kā arī daudzas citas darbības.

> mean(vektors6)
[1] 3.7

> max(vektors6)
[1] 6

> median(vektors6)
[1] 4

> range(vektors6)
[1] 1 6

> sum(vektors6)
[1] 37

Ja vektoram, piemēram, pieskaita kādu skaitli vai reizina ar skaitli, tad šāda darbība tiek veikta ar katru vektora elementu atsevišķi.>/p>

> vektors6 + 10
[1] 11 12 13 14 14 14 14 14 15 16

Atsevišķus vektorus savā starpā var gan saskaitīt, gan reizināt, utt. Jāatceras, ka gadījumā, ja elementu daudzums abos vektors ir vienāds, tad, piemēram, saskaitīšana tiks veikta pēc principa pirmais elements + pirmais elements, otrai + otrais ... Ja elementu daudzums nav vienāds, tad īsākā vektora elementi tiks secīgi atkārtoti un parādīsies brīdinājuma paziņojums.

> pir <- c(1, 2, 3, 4)
> otr <- c(5, 6, 7, 8)
> tre <- c(9, 10)
> pir + otr
[1] 6 8 10 12
> pir + tre
[1] 10 12 12 14