knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE
)
# Priradenie konštanty do premennej
a <- 12
b <- 3
# Arithmetic
sum_ab <- a + b
diff_ab <- a - b
prod_ab <- a * b
quot_ab <- a / b
power_ab <- a ^ b
mod_ab <- a %% 3
# Rounding
round_b <- round(b)
ceil_b <- ceiling(b)
floor_b <- floor(b)
a; b
## [1] 12
## [1] 3
sum_ab; diff_ab; prod_ab; quot_ab; power_ab; mod_ab;
## [1] 15
## [1] 9
## [1] 36
## [1] 4
## [1] 1728
## [1] 0
round_b; ceil_b; floor_b
## [1] 3
## [1] 3
## [1] 3
Vypočítajte:
\[\frac{(10^2+4-2)}{7}\]
(10^2+4-2) / 7
## [1] 14.57143
\[\cos(((15 - 7) * \pi / 180)^3) * (3 + 7 * (12 - 2))\]
cos(((15 - 7) * pi / 180)^3) * (3 + 7 * (12 - 2))
## [1] 72.99973
Poznámka:
Pri výpočte funkcie cos() som najprv dostával zvláštny výsledok, pretože R počíta funkcie v radiánoch, nie v stupňoch.
Keďže som tomu úplne nerozumel, použil som ChatGPT na vysvetlenie rozdielu medzi radiánmi a stupňami. Na základe toho som upravil výraz pomocou prevodu:
stupne * pi / 180
first <- "Atamas"
last <- "Ivan"
full <- paste(first, last)
university <- "Univerzita Komenského"
year <- 2026
full_nospace <- paste0(first, last)
my_info <- paste(full_nospace, "-", university, "-","rok:", year)
first; last; full; full_nospace;my_info
## [1] "Atamas"
## [1] "Ivan"
## [1] "Atamas Ivan"
## [1] "AtamasIvan"
## [1] "AtamasIvan - Univerzita Komenského - rok: 2026"
x <- "Univerzita Komenskeho"
nchar(x)
## [1] 21
substr(x, 1, 10)
## [1] "Univerzita"
substr(x, 3, 12)
## [1] "iverzita K"
a <- 100
b <- 20
p <- a > 77
q <- b < 25
!p
## [1] FALSE
p & q
## [1] TRUE
p | q
## [1] TRUE
xor(p, q)
## [1] FALSE
8 > 2
## [1] TRUE
15 <= 7
## [1] FALSE
"student" == "student"
## [1] TRUE
"student" != "student"
## [1] FALSE
!FALSE
## [1] TRUE
x <- 20
x > 10 & x < 40
## [1] TRUE
x < 12 | x > 30
## [1] FALSE
vals <- c(TRUE, FALSE, TRUE, FALSE)
v1 <- c(5, 10, 15, 20)
v2 <- 2:7
v3 <- seq(from = 2, to = 25, by = 3)
v4 <- rep(7, times = 4)
v5 <- runif(5, min = 0, max = 10)
v6 <- rnorm(5, mean = 50, sd = 5)
v1; v2; v3; v4; v5
## [1] 5 10 15 20
## [1] 2 3 4 5 6 7
## [1] 2 5 8 11 14 17 20 23
## [1] 7 7 7 7
## [1] 0.1238557 6.3342759 2.9561115 6.8474206 3.6138279
v <- c(1, 2, 3, 4)
v + 5
## [1] 6 7 8 9
v * 7
## [1] 7 14 21 28
(v - 2) / 2
## [1] -0.5 0.0 0.5 1.0
exp(v)
## [1] 2.718282 7.389056 20.085537 54.598150
sum(v)
## [1] 10
mean(v)
## [1] 2.5
sum(c(1,2,3) * c(1,1,1))
## [1] 6
crossprod(c(1,2,3),c(1,1,1))
## [,1]
## [1,] 6
c(1,2,3)*c(1,1,1)
## [1] 1 2 3
v7 <- c(1,2,3,5,7,10,12)
length(v7)
## [1] 7
c(1,2,3,5,7,10,12) + v7
## [1] 2 4 6 10 14 20 24
x <- c(7, 4, 15, 23, 6, 12, 3)
x[1]
## [1] 7
x[2:7]
## [1] 4 15 23 6 12 3
x[-2]
## [1] 7 15 23 6 12 3
x[x > 10]
## [1] 15 23 12
which(x %% 2 == 0)
## [1] 2 5 6
y <- c(10, 25, NA, 5, NA, 18)
is.na(y)
## [1] FALSE FALSE TRUE FALSE TRUE FALSE
mean(y)
## [1] NA
mean(y, na.rm = TRUE)
## [1] 14.5
z <- c(10, 3, 5, 8, 2)
mean(z)
## [1] 5.6
sd(z)
## [1] 3.361547
max(z)
## [1] 10
summary(z)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.0 3.0 5.0 5.6 8.0 10.0
sort(z)
## [1] 2 3 5 8 10
sort(z, decreasing = TRUE)
## [1] 10 8 5 3 2
Vytvorte vektor
ws číslami 1..20 a vypočítajte sumu všetkých párnych čísel.
w <- 1:20
even_numbers <- w[w %% 2 == 0] # vyber párnych čísel
even_numbers # zobrazíme párne čísla
## [1] 2 4 6 8 10 12 14 16 18 20
sum_even <- sum(even_numbers)
sum_even # zobrazíme ich súčet
## [1] 110
length(even_numbers) # koľko je párnych čísel
## [1] 10
m <- matrix(1:10, nrow = 2, ncol = 5)
m_byrow <- matrix(1:10, nrow = 2, byrow = TRUE)
m; m_byrow
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 10
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
dim(m)
## [1] 2 5
nrow(m)
## [1] 2
m
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 10
m[2, 3]
## [1] 6
m[ , 2]
## [1] 3 4
m[2, ]
## [1] 2 4 6 8 10
m[1:2, 1:2]
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
A <- matrix(c(2, 4, 6, 8), nrow = 2)
B <- matrix(c(1, 3, 5, 7), nrow = 2)
A + B
## [,1] [,2]
## [1,] 3 11
## [2,] 7 15
A * B
## [,1] [,2]
## [1,] 2 30
## [2,] 12 56
A %*% B
## [,1] [,2]
## [1,] 20 52
## [2,] 28 76
t(A)
## [,1] [,2]
## [1,] 2 4
## [2,] 6 8
det(A)
## [1] -8
solve(A)
## [,1] [,2]
## [1,] -1.0 0.75
## [2,] 0.5 -0.25
I <- cbind(2:5, 7:10)
O <- rbind(2:5, 7:10)
I; O
## [,1] [,2]
## [1,] 2 7
## [2,] 3 8
## [3,] 4 9
## [4,] 5 10
## [,1] [,2] [,3] [,4]
## [1,] 2 3 4 5
## [2,] 7 8 9 10
rowSums(A)
## [1] 8 12
colSums(A)
## [1] 6 14
M <- matrix(2:10, nrow = 3)
M
## [,1] [,2] [,3]
## [1,] 2 5 8
## [2,] 3 6 9
## [3,] 4 7 10
apply(M, 1, sum)
## [1] 15 18 21
apply(M, 2, mean)
## [1] 3 6 9
Vytvorte maticu 5x5 s hodnotami po riadkoch 1..25, vypočítajte stĺpcové sumy a súčin matíc \(M^t M\).
M2 <- matrix(1:25, nrow = 5, byrow = TRUE)
M2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
## [3,] 11 12 13 14 15
## [4,] 16 17 18 19 20
## [5,] 21 22 23 24 25
column_sums <- colSums(M2)
column_sums
## [1] 55 60 65 70 75
product_matrix <- t(M2) %*% M2
product_matrix
## [,1] [,2] [,3] [,4] [,5]
## [1,] 855 910 965 1020 1075
## [2,] 910 970 1030 1090 1150
## [3,] 965 1030 1095 1160 1225
## [4,] 1020 1090 1160 1230 1300
## [5,] 1075 1150 1225 1300 1375