5 Osnovne funkcije

R ima veliku bazu funkcija. Pri pozivanju funkcije, koristi se naziv funkcije i potom se upisuju zagrade. U zagradi će se naći argumenti ili parametri funkcije. Svaka funkcija ima drugačije definirane argumente ili parametre. Pri susretu s novom funkcijom, najbolje je koristiti Help u donjem desnom prozoru u RStudiju, koji nudi pretraživanje dokumentacije i opis funkcija.


Na primjer, za nekoliko češće korištenih funkcija, ovdje je navedeno prvih nekoliko funkcija koje će se koristiti u nastavku:

c {base}

  • c()

  • ovo je generička funkcija za kombiniranje elemenata

  • zadano (engl. default):

    c(…, recursive = FALSE, use.names = TRUE)

    gdje

    • ‘…’ označava elemente koji će biti povezani;
    • recursive je logički parametar kojem se mogu pridružiti vrijednosti TRUE ili FALSE, pri čemu FALSE postavka ne mijenja zapis zadanih elemenata, a TRUE rezultira rekurzivnim preuzimanjem elemenata kroz popis i kombiniranjem elemenata u vektor
    • use.names je logički parametar kojem se mogu pridružiti vrijednosti TRUE ili FALSE, pri čemu TRUE označava da nazivi trebaju biti sačuvani
  • primjeri (navedeni i na stranici Help pri pretrazi za c() ):

    • x <- 1:4
    • c(list(A = c(B = 1)), recursive = TRUE)
    • c(list(A = c(B = 1, C = 2), B = c(E = 7)), recursive = TRUE)
x <- 1:4
c(list(A = c(B = 1)), recursive = TRUE)
c(list(A = c(B = 1, C = 2), B = c(E = 7)), recursive = TRUE)

Na primjer: želite analizirati godišnje temperature za nekoliko gradova i trebate kreirati vektor s tim temperaturama.

Kako koristiti: upotrijebite funkciju c() za stvaranje vektora koji sadrži prosječne godišnje temperature za svaki grad.

temperature <- c(16, 18, 20, 15, 17)

print {base}

  • print()

  • ovo je generička funkcija za ispis argumenata

  • automatski prepoznaje tip argumenta koji se ispisuje te će sukladno tome nuditi različite parametre koji se mogu podesiti

  • za ispis faktora:

    print(x, quote = FALSE, max.levels = NULL, width = getOption("width"), ...)
  • za ispis tablice:

    • print(x, digits = getOption(“digits”), quote = FALSE, na.print = ““, zero.print =”0”, right = is.numeric(x) || is.complex(x), justify = “none,” …)
  • za ispis funkcije:

    • print(x, useSource = TRUE, …)
  • x označava objekt koji se ispisuje

  • ‘…’ označava dodatne argumente koji se pridružuju funkciji

  • quote je logički parametar koji označava trebaju li se znakovi ispisivati koristeći navodne znakove

  • max.levels - cjelobrojna vrijednost, označava koliko razina faktora treba ispisati

  • digits - označava najmanji broj značajnih znamenki

  • na.print - treba li ispisati NA vrijednosti

  • zero.print - koliko nula treba ispisati

  • right - poravnanje ispisa

print("Dobar dan!")
print(x)

Na primjer: nakon analize podataka, želite ispisati rezultate na ekran kako biste ih mogli pregledati ili podijeliti s kolegama.

Kako koristiti: upotrijebite print() za ispisivanje rezultata, na primjer, ispisa ranije kreiranih prosječnih temperatura.

print(temperature)
## [1] 16 18 20 15 17

seq {base}

  • seq()

  • generiranje pravilnih sekvenci brojeva

    seq.int(from, to, by, length.out, along.with, ...)
    seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),
    length.out = NULL, along.with = NULL, ...)
    • from - označava početnu vrijednost u nizu
    • to - označava posljednju vrijednost u nizu
    • by - označava povećanje u nizu brojeva
  • na primjer, seq(1,15,3) rezultirat će nizom brojeva: 1, 4, 7, 10, 13

seq(1,15,3)

Na primjer: planirate niz eksperimenata koji se trebaju odvijati u redovitim intervalima tijekom godine, i trebate generirati sekvencu datuma za svaki eksperiment.

Kako koristiti: upotrijebite seq() za stvaranje niza ili sekvence brojeva koji predstavljaju, na primjer, svaki deseti dan u godini.

dani <- seq(from = 1, to = 365, by = 10)
dani
##  [1]   1  11  21  31  41  51  61  71  81  91 101 111 121 131 141 151 161 171 181
## [20] 191 201 211 221 231 241 251 261 271 281 291 301 311 321 331 341 351 361

rep {base}

  • rep()

  • replikacija/ ponavljanje vrijednosti određeni broj puta

    rep(x, ...)
    rep.int(x, times)
    rep_len(x, length.out)
  • x je vektor bilo koje vrste ili faktor

  • times je cjelobrojna vrijednost koja naznačava koliko se puta x ponavlja

  • length.out - je nenegativna cjelobrojna vrijednost koja označava željenu duljinu vektora

  • each - nenegativna cjelobrojna vrijednost koja označava koliko se puta svaki element naveden u x-u ponavlja

rep(c(0, 1),8)
##  [1] 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Na primjer: pretpostavimo da razvijate algoritam za obradu nizova brojeva i želite testirati kako se vaš algoritam ponaša s ponavljajućim uzorcima. Potreban vam je jednostavan niz koji se sastoji od uzorka 0, 1, 1 koji se ponavlja nekoliko puta.

Kako koristiti: možete koristiti rep() za kreiranje željenog niza koji ponavlja uzorak c(0, 1, 1) pet puta. Tako dobiveni vektor sadrži ukupno 15 elemenata jer je početni uzorak c(0, 1, 1) koji se sastoji od tri elementa ponovljen pet puta.

sequence <- rep(c(0, 1, 1), 5)

Ovih nekoliko primjera upotrijebit će se već u sljedećem poglavlju. Čitatelji se potiču na samostalno korištenje Help stranica dostupnih putem RStudija.