title: “Základné operácie v R” author: “Simona Vančová
(s využitím ChatGPT)” date: “Oktober 2025” output: html_notebook: toc: true toc_float: true theme: united highlight: tango editor_options: markdown: wrap: 72 —

Globálne nastavenie Chunkov

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

Skaláre (jednočíselné hodnoty)

Numerické skaláre

Priradenie konštanty do premennej

# Priradenie konštanty do premennej
a <- 13
b <- 6

# Arithmetic
sum_ab      <- a + b        # sucet
diff_ab     <- a - b        # rozdiel
prod_ab     <- a * b        # násobenie
quot_ab     <- a / b        # delenie
power_ab    <- a ^ b        # umocňovanie
# Rounding
round_b   <- round(b)       # zaokruhlovanie smerom k najblizsiemu celemu cislu
ceil_b    <- ceiling(b)     # najblizsie vyssie cele cislo
floor_b   <- floor(b)       # najblizsie nizsie cele cislo

a; b
## [1] 13
## [1] 6
sum_ab; diff_ab; prod_ab; quot_ab; power_ab; 
## [1] 19
## [1] 7
## [1] 78
## [1] 2.166667
## [1] 4826809
round_b; ceil_b; floor_b
## [1] 6
## [1] 6
## [1] 6

Numerické vektory

# vlastné vektory
v1 <- c(5, 10, 15, 20)               # konkrétne čísla
v2 <- 2:8                            # postupnosť od 2 po 8
v3 <- seq(from = 1, to = 2, by = 0.2)  # postupnosť s krokom 0.2
v4 <- rep(7, times = 4)              # štvorelementový vektor zo sedmičiek
v5 <- runif(4, min = -1, max = 1)    # náhodné čísla v intervale [-1, 1]
v6 <- rnorm(4, mean = 50, sd = 5)    # náhodné čísla ~ N(50, 5)

# ukážeme výsledky
v1; v2; v3; v4; v5; v6
## [1]  5 10 15 20
## [1] 2 3 4 5 6 7 8
## [1] 1.0 1.2 1.4 1.6 1.8 2.0
## [1] 7 7 7 7
## [1]  0.7972856  0.1416994  0.3313556 -0.5028591
## [1] 50.23363 53.16844 51.97579 57.49109
# nejaká práca s vektormi
mean(v1)         # priemer prvého vektora
## [1] 12.5
sum(v2)          # súčet druhého vektora
## [1] 35
round(v5, 2)     # zaokrúhlenie náhodných čísel na 2 desatinné miesta
## [1]  0.80  0.14  0.33 -0.50

Malé cvičenie

Vytvorte vektor w s číslami 1..20 a vypočítajte sumu všetkých párnych čísel.

# Vytvorenie vektora w s číslami od 1 do 20
w <- 1:20

# Výber len párnych čísel z w
parne <- w[w %% 2 == 0]

# Výpočet súčtu párnych čísel
suma_parnych <- sum(parne)

suma_parnych
## [1] 110

Vytváranie textovými premennými a práca s nimi

Ukážka práce s textom: meno a priezvisko, spojenie reťazcov a vytvorenie jedného textu so zoznamom predmetov.

meno <- "Anna"
priezvisko <- "Kováčová"

cele_meno <- paste(meno, priezvisko)       # spojenie s medzerou
cele_meno_bez <- paste0(meno, priezvisko)  # spojenie bez medzery

predmety <- paste("Matematika", "Ekonometria", "Štatistika", sep = "; ")  # spojenie so stredníkom

# vypíšeme všetky výsledky
meno; priezvisko; cele_meno; cele_meno_bez; predmety
## [1] "Anna"
## [1] "Kováčová"
## [1] "Anna Kováčová"
## [1] "AnnaKováčová"
## [1] "Matematika; Ekonometria; Štatistika"

Male cvicenie

vektor mien s funkciou paste

mena <- c("Anna", "Peter", "Jana")
priezviska <- c("Nováková", "Mrkvička", "Horváthová")
cele_mena <- paste(mena, priezviska)
cele_mena
## [1] "Anna Nováková"   "Peter Mrkvička"  "Jana Horváthová"

matematicka funkcia

Vypočítaj hodnotu funkcie \(f(x) = \frac{x^2 - 5}{3}\) pre rôzne hodnoty \(x\).

# definícia funkcie
f <- function(x) {
  (x^2 - 5) / 3
}

# výpočet pre rôzne hodnoty
f(2)
## [1] -0.3333333
f(5)
## [1] 6.666667
f(c(1, 2, 3, 4, 5))   # aplikácia na vektor čísel
## [1] -1.3333333 -0.3333333  1.3333333  3.6666667  6.6666667

Logické (boolovské) hodnoty a premenné

Malé cvičenie

x <- 10
y <- 3

# podmienky
x > 5       # je x väčšie ako 5?
## [1] TRUE
y == 3      # je y rovné 3?
## [1] TRUE
x < y       # je x menšie ako y?
## [1] FALSE
# logické operácie
(x > 5) & (y == 3)    # AND - obe podmienky musia platiť
## [1] TRUE
(x > 5) | (y < 0)     # OR - stačí jedna podmienka
## [1] TRUE
!(x < y)              # NOT - negácia
## [1] TRUE
xor(x > 5, y == 4)    # XOR - platí presne jedna podmienka
## [1] TRUE

Môj návrh použitia novinky

meno <- "Anna"
vek <- 22
paste("Moje meno je", meno, "a mám", vek, "rokov.")
## [1] "Moje meno je Anna a mám 22 rokov."
# Spojenie mena a priezviska, a premena na veľké písmená
meno <- "janko"
priezvisko <- "hrasko"

cele_meno <- paste0(meno, " ", priezvisko)
cele_meno_velkymi <- toupper(cele_meno)  #nasla som ze toupper funguje ako capslock

cele_meno_velkymi
## [1] "JANKO HRASKO"