Globálne nastavenie Chunkov

knitr::opts_chunk$set(
  echo = TRUE,
  message = FALSE,
  warning = FALSE
)

Úvod k základným operáciám v R

Tento notebook demonštruje základné operácie v jazyku R so skalármi, textami, logickými hodnotami a vektormi. Na konci ukážeme aj vlastnú „inováciu“.


Skaláre (jednočíselné hodnoty)

Numerické skaláre

x <- 12
y <- 5.7

sucet      <- x + y
rozdiel    <- x - y
nasobok    <- x * y
podiel     <- x / y
umocnenie  <- x ^ 2
modulo     <- x %% 4

zaokruhlene <- round(y, 1)
hore        <- ceiling(y)
dole        <- floor(y)

sucet; rozdiel; nasobok; podiel; umocnenie; modulo
## [1] 17.7
## [1] 6.3
## [1] 68.4
## [1] 2.105263
## [1] 144
## [1] 0
zaokruhlene; hore; dole
## [1] 5.7
## [1] 6
## [1] 5

Malé cvičenie

Vypočítajte:
\(\frac{(20^2+3)}{8}\)

(20^2 + 3) / 8
## [1] 50.375

Text

Vytváranie textových premenných

meno <- "Lucia"
priezvisko <- "Horváthová"
cele_meno <- paste(meno, priezvisko)
cele_meno
## [1] "Lucia Horváthová"

Malé cvičenie

Vytvorte dve textové premenné: názov mesta a krajiny, a spojte ich do jedného reťazca.

mesto <- "Košice"
krajina <- "Slovensko"
paste(mesto, "je druhé najväčšie mesto v", krajina)
## [1] "Košice je druhé najväčšie mesto v Slovensko"

Logické hodnoty a premenné

Základy

p <- TRUE
q <- FALSE

!p
## [1] FALSE
p & q
## [1] FALSE
p | q
## [1] TRUE
xor(p, q)
## [1] TRUE

Malé cvičenie

Vytvorte dve číselné premenné a overte, či sú obe väčšie ako 10.

a <- 15
b <- 7
(a > 10) & (b > 10)
## [1] FALSE

Numerické vektory

Generovanie vektorov

v1 <- 2:10
v2 <- seq(from = 0, to = 5, by = 0.5)
v3 <- rep(7, times = 6)
v4 <- runif(5, min = 0, max = 50)

v1; v2; v3; v4
## [1]  2  3  4  5  6  7  8  9 10
##  [1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
## [1] 7 7 7 7 7 7
## [1]  3.274312 11.971808 38.227449  7.932694 17.469860

Malé cvičenie

Vytvorte vektor čísel od 1 do 30 a vypočítajte súčet všetkých čísel deliteľných tromi.

w <- 1:30
sum(w[w %% 3 == 0])
## [1] 165

Môj návrh použitia novinky

Na záver ukážeme príkazy, ktoré v pôvodnom dokumente neboli:

# any() a all()
v <- c(2, 4, 6, 8)
any(v > 5)   # aspoň jedno číslo je väčšie ako 5?
## [1] TRUE
all(v %% 2 == 0)  # sú všetky párne?
## [1] TRUE
# texty s paste0()
slovo1 <- "Data"
slovo2 <- "Science"
paste0(slovo1, slovo2)
## [1] "DataScience"
# unique()
vek <- c(18, 21, 18, 25, 21, 30)
unique(vek)
## [1] 18 21 25 30
# vlastná funkcia na test prvočísel
is_prime <- function(n) {
  if (n <= 1) return(FALSE)
  all(n %% 2:(n-1) != 0)
}

is_prime(17)
## [1] TRUE
is_prime(18)
## [1] FALSE