R u bankarstvu
  • Zbirka riješenih zadataka
  • O Zbirci
  • 1. Import podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
  • 2. Manipulacije i agregacije podataka
    • str
    • ifelse & if
    • Nedostupne vrijednosti
    • %in%
    • as.Date
    • Petlje
    • Agregacije podataka
  • 3. Eksport podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
    • Eksport tabela i grafika u Microsoft PowerPoint
    • Eksport tabela i grafika u Microsoft Word
  • 4. Ostalo
    • ODBC konekcije
    • Sistemsko manipulisanje fajlovima i folderima
    • Pozivanje R funkcija i programa iz SAS-a
    • Pozivanje SAS programa iz R-a
    • Korisničke funkcije
    • Neto sadašnja vrijednost
    • Plan otplate kredita
    • Efektivna kamatna stopa
    • Moratorijum na otplatu kredita
    • Restrukturiranje kredita kroz produženje roka otplate
    • WoE & IV
    • WoE transformacije u regresionim modelima
    • Kalibracija rejting skale
    • Monotono grupisanje numeričkih risk faktora
  • Biografija
Powered by GitBook
On this page

Was this helpful?

  1. 2. Manipulacije i agregacije podataka

Nedostupne vrijednosti

NA, NULL, NaN, Inf predstavljaju posebne simbole nedostupnih vrijednosti u R-u. NA predstavlja nedostajuće vrijednosti, dok ostali simboli su obično rezultat kalkulacija ili dodjeljivanja vrijednosti vektoru.

Zadatak: Ispitati koju nedostupnu vrijednost sadrže elementi datog vektora x.

> #definisati vekor x
> x <- c(1, 2, NA, 3, NaN, Inf, 4, -Inf)
> x
[1]    1    2   NA    3  NaN  Inf    4 -Inf
> is.na(x)
[1] FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE
> is.nan(x)
[1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
> is.infinite(x)
[1] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
> #sumiranje rezultata u data frame
> cbind.data.frame(x, na = is.na(x), nan = is.nan(x), infinite = is.infinite(x))
     x    na   nan infinite
1    1 FALSE FALSE    FALSE
2    2 FALSE FALSE    FALSE
3   NA  TRUE FALSE    FALSE
4    3 FALSE FALSE    FALSE
5  NaN  TRUE  TRUE    FALSE
6  Inf FALSE FALSE     TRUE
7    4 FALSE FALSE    FALSE
8 -Inf FALSE FALSE     TRUE
> 
> #provjera za NULL vrijednosti
> #definisti listu od 2 prazna elementa
> l <- vector("list", 2)
> l
[[1]]
NULL

[[2]]
NULL

> #provjeriti da li je prvi element liste NULL
> is.null(l[[1]])
[1] TRUE
> 
> #dodjeljivanje NULL vrijednosti elementu vektora
> c(1, NULL)
[1] 1

Posebnu pažnju treba obratiti na primjenu funkcija i manipulaciju sa vektorima koji sadrže nedostupne vrijednosti.

Zadatak: Izračunati aritmetičku sredinu datog vektora x.

> #definisati vekor x
> x <- c(1, 2, NA, 3, NaN, Inf, 4, -Inf)
> #pokusaj 1 - za date vrijednosti vektora x: rezultat NA vrijednost
> x
[1]    1    2   NA    3  NaN  Inf    4 -Inf
> mean(x)
[1] NA
> #pokusaj 2 - iskljucivanje NA vrijednosti: rezulta NaN vrijednost
> x[!is.na(x)]
[1]    1    2    3  Inf    4 -Inf
> mean(x[!is.na(x)])
[1] NaN
> #pokusaj 3 - iskljucivanje NA i Inf vrijednosti: rezultat 2.5
> mean(x[!is.na(x) & !is.infinite(x)])
[1] 2.5
Previousifelse & ifNext%in%

Last updated 4 years ago

Was this helpful?