Základné operácie v R

Author

Yevheniia Khomenko

Published

October 1, 2026

Cvičenie 1 — tréningový čas

Máme časy behu na 5 km počas jedného týždňa:

Code
cas <- c(31.5, 30.8, 32.1, 29.7, 30.2, 28.9, 29.5)

Úlohy

  1. Vypočítajte priemerný čas.
  2. Nájdite najlepší výsledok.
  3. Zistite, ktoré tréningy boli rýchlejšie ako 30 minút.
Code
mean(cas)
[1] 30.38571
Code
min(cas)
[1] 28.9
Code
cas[cas < 30]
[1] 29.7 28.9 29.5

Cvičenie 2 - tepová frekvenci a❤️

Code
tep <- c(142, 155, 161, 148, 172, 165, 139, 158, 176, 151)

Úloha:

Vyberte všetky hodnoty tepu vyššie ako 160 a pomocou which() zistite, počas ktorých tréningov sa objavili.

Code
tep[tep > 160]
[1] 161 172 165 176
Code
which(tep > 160)
[1] 3 5 6 9

Cvičenie 3 — chýbajúci údaj

Code
kalorie <- c(420, 390, NA, 510, 460, NA, 430, 480)

Úloha:

  • vypočítajte priemerný počet spálených kalórií;
  • najprv bez odstránenia NA;
  • potom správne s na.rm = TRUE.

Cvičenie 4 — porovnanie tréningov

Code
vykon <- matrix(c(
  31.5, 142, 420,
  30.8, 155, 390,
  29.7, 148, 510,
  28.9, 172, 460,
  29.5, 165, 430
), nrow = 5, byrow = TRUE)

colnames(vykon) <- c("cas", "tep", "kalorie")
vykon
      cas tep kalorie
[1,] 31.5 142     420
[2,] 30.8 155     390
[3,] 29.7 148     510
[4,] 28.9 172     460
[5,] 29.5 165     430

Vypočítajte priemerný čas, priemerný tep a priemerný počet kalórií.

uvcapply(vykon, 2, mean)

Cvičenie 5 — čo najviac súvisí s tréningovým výkonom?

Čas Tep Kalórie
Čas 2.4 -0.8 -1.5
Tep -0.8 3.1 1.7
Kalórie -1.5 1.7 4.2
Code
S <- matrix(c(
  2.4, -0.8, -1.5,
  -0.8, 3.1, 1.7,
  -1.5, 1.7, 4.2
), nrow = 3, byrow = TRUE)

colnames(S) <- c("Cas", "Tep", "Kalorie")
rownames(S) <- c("Cas", "Tep", "Kalorie")

S
         Cas  Tep Kalorie
Cas      2.4 -0.8    -1.5
Tep     -0.8  3.1     1.7
Kalorie -1.5  1.7     4.2

Pomocou funkcie eigen() vypočítajte vlastné čísla a vlastné vektory matice S. Zistite, ktoré vlastné číslo je najväčšie.

Code
eig_S <- eigen(S, symmetric = TRUE)

eig_S$values
[1] 6.187659 1.995552 1.516789
Code
eig_S$vectors
           [,1]       [,2]       [,3]
[1,]  0.4072305 -0.4762922  0.7793003
[2,] -0.5192102 -0.8226967 -0.2314971
[3,] -0.7513881  0.3103480  0.5823230
Code
max(eig_S$values)
[1] 6.187659

Overte, že vlastné vektory majú jednotkovú dĺžku.

Code
colSums(eig_S$vectors^2)
[1] 1 1 1