a1 <- c(3, 6, 9, 12)
a2 <- 10:15 # postupnosť 10,11,12,13,14,15
a3 <- seq(from = 2, to = 5, by = 0.5) # postupnosť s krokom 0.5
a4 <- rep(7, times = 6) # opakovanie čísla 7 šesťkrát
a5 <- runif(6, min = -1, max = 1) # rovnomerne rozdelené premenné v intervale [-1,1]
a6 <- rnorm(6, mean = 5, sd = 2) # normálne rozdelené čísla so stredom 5
a1; a2; a3; a4; a5; a6
## [1] 3 6 9 12
## [1] 10 11 12 13 14 15
## [1] 2.0 2.5 3.0 3.5 4.0 4.5 5.0
## [1] 7 7 7 7 7 7
## [1] 0.2323170 -0.4939021 0.5464110 -0.4948637 -0.5530104 0.8466134
## [1] 6.813428 4.691182 4.827466 4.273460 4.731260 5.411561
v <- c(2, 4, 6, 8)
v - 1 # zmenšíme každý prvok o 1
## [1] 1 3 5 7
v / 2 # polovica každej hodnoty
## [1] 1 2 3 4
(v^2) + 3 # každý prvok umocníme a pripočítame 3
## [1] 7 19 39 67
sqrt(v) # odmocnina každého prvku
## [1] 1.414214 2.000000 2.449490 2.828427
crossprod(c(2,3,4), c(1,0,1)) # skalárny súčin
## [,1]
## [1,] 6
c(2,3,4) * c(1,0,1) # Hadamardov súčin
## [1] 2 0 4
b1 <- c(1,2,3,4,5)
b2 <- c(5,4,3,2,1)
b1 + b2
## [1] 6 6 6 6 6
b1 * b2
## [1] 5 8 9 8 5
b1 / b2
## [1] 0.2 0.5 1.0 2.0 5.0
x <- c(10, 25, 5, 40, 18, 7)
x[3] # tretí prvok
## [1] 5
x[2:5] # druhý až piaty prvok
## [1] 25 5 40 18
x[-4] # všetko okrem štvrtého prvku
## [1] 10 25 5 18 7
x[x <= 15] # len hodnoty menšie alebo rovné 15
## [1] 10 5 7
which(x > 20) # indexy prvkov väčších ako 20
## [1] 2 4
y <- c(2, 8, NA, 15, NA, 20)
is.na(y)
## [1] FALSE FALSE TRUE FALSE TRUE FALSE
sum(is.na(y)) # počet chýbajúcich hodnôt
## [1] 2
median(y, na.rm = TRUE) # medián bez NA
## [1] 11.5
z <- c(15, 22, 8, 19, 30, 5)
mean(z)
## [1] 16.5
var(z) # rozptyl
## [1] 85.1
range(z) # minimum a maximum
## [1] 5 30
summary(z)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.00 9.75 17.00 16.50 21.25 30.00
sort(z) # vzostupne
## [1] 5 8 15 19 22 30
order(z) # indexy pre usporiadanie
## [1] 6 3 1 4 2 5
nums <- -10:10
sum(nums[nums > 0])
## [1] 55
mean(nums[nums < 0])
## [1] -5.5
M <- matrix(11:26, nrow = 4, ncol = 4) # hodnoty po stĺpcoch
M_byrow <- matrix(11:26, nrow = 4, byrow = TRUE) # hodnoty po riadkoch
M; M_byrow
## [,1] [,2] [,3] [,4]
## [1,] 11 15 19 23
## [2,] 12 16 20 24
## [3,] 13 17 21 25
## [4,] 14 18 22 26
## [,1] [,2] [,3] [,4]
## [1,] 11 12 13 14
## [2,] 15 16 17 18
## [3,] 19 20 21 22
## [4,] 23 24 25 26
dim(M)
## [1] 4 4
nrow(M)
## [1] 4
ncol(M)
## [1] 4
M[2, 3] # prvok v 2. riadku, 3. stĺpci
## [1] 20
M[, 4] # celý 4. stĺpec
## [1] 23 24 25 26
M[3, ] # celý 3. riadok
## [1] 13 17 21 25
M[1:2, 2:4] # podmatica
## [,1] [,2] [,3]
## [1,] 15 19 23
## [2,] 16 20 24
A <- matrix(c(2, 4, 1, 3), nrow = 2)
B <- matrix(c(5, 0, 7, 2), nrow = 2)
A + B
## [,1] [,2]
## [1,] 7 8
## [2,] 4 5
A - B
## [,1] [,2]
## [1,] -3 -6
## [2,] 4 1
A * B # Hadamardov súčin
## [,1] [,2]
## [1,] 10 7
## [2,] 0 6
A %*% B # maticové násobenie
## [,1] [,2]
## [1,] 10 16
## [2,] 20 34
t(A)
## [,1] [,2]
## [1,] 2 4
## [2,] 1 3
det(A)
## [1] 2
solve(A) # inverzia
## [,1] [,2]
## [1,] 1.5 -0.5
## [2,] -2.0 1.0
E <- cbind(10:12, 20:22) # stĺpce
F <- rbind(10:12, 20:22) # riadky
E; F
## [,1] [,2]
## [1,] 10 20
## [2,] 11 21
## [3,] 12 22
## [,1] [,2] [,3]
## [1,] 10 11 12
## [2,] 20 21 22
G <- matrix(1:12, nrow = 3, byrow = TRUE)
G
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
rowMeans(G)
## [1] 2.5 6.5 10.5
colSums(G)
## [1] 15 18 21 24
apply(G, 1, max)
## [1] 4 8 12
apply(G, 2, sd)
## [1] 4 4 4 4
M3 <- matrix(2:21, nrow = 4, byrow = TRUE)
rowSums(M3)
## [1] 20 45 70 95
apply(M3, 2, max)
## [1] 17 18 19 20 21
t(M3) %*% M3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 486 524 562 600 638
## [2,] 524 566 608 650 692
## [3,] 562 608 654 700 746
## [4,] 600 650 700 750 800
## [5,] 638 692 746 800 854
subM <- M3[2:4, 3:5]
subM
## [,1] [,2] [,3]
## [1,] 9 10 11
## [2,] 14 15 16
## [3,] 19 20 21
if (nrow(subM) == ncol(subM)) det(subM)
## [1] 0
```