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 —
knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE
)
# 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
# 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
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
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"
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á"
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
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
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"