knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE
)
set.seed(42)
data <- rnorm(100, mean = 50, sd = 10) # 100 náhodných hodnôt ~ N(50,10)
summary(data) # základné štatistiky
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.07 43.83 50.90 50.33 56.62 72.87
hist(data, main="Histogram hodnôt", col="skyblue")
Vytvorte 50 náhodných hodnôt z rovnomerného rozdelenia na intervale [10, 20] a spočítajte, koľko z nich je väčších ako 15.
Riešenie:
set.seed(123)
u <- runif(50, min = 10, max = 20)
sum(u > 15)
## [1] 25
vek <- c(15, 18, 25, 70, 12, 40)
vek >= 18
## [1] FALSE TRUE TRUE TRUE FALSE TRUE
sum(vek >= 18) # počet dospelých
## [1] 4
Napíšte podmienku, ktorá určí, ktorí ľudia majú medzi 18 a 65 rokmi (t.j. sú v produktívnom veku).
Riešenie:
vek <- c(15, 18, 25, 70, 12, 40)
produkt_vek <- vek >= 18 & vek <= 65
vek[produkt_vek]
## [1] 18 25 40
veticka <- "Programovanie v R je veľmi flexibilné a zábavné"
slova <- strsplit(veticka, " ")[[1]]
length(slova) # počet slov
## [1] 8
toupper(slova) # všetky slová veľkými písmenami
## [1] "PROGRAMOVANIE" "V" "R" "JE"
## [5] "VEĽMI" "FLEXIBILNÉ" "A" "ZÁBAVNÉ"
grep("R", slova) # pozícia slova "R"
## [1] 3
Napíšte vetu podľa seba a:
1. rozdeľte ju na slová,
2. spočítajte počet písmen vo všetkých slovách dokopy,
3. vymeňte jedno slovo za iné pomocou gsub().
Riešenie:
moj_text <- "Učenie R Markdown je veľmi užitočné a zaujímavé"
slova2 <- strsplit(moj_text, " ")[[1]]
# 1. rozdelenie
slova2
## [1] "Učenie" "R" "Markdown" "je" "veľmi" "užitočné"
## [7] "a" "zaujímavé"
# 2. počet písmen dokopy
sum(nchar(slova2))
## [1] 40
# 3. zmena slova "užitočné" na "praktické"
novy_text <- gsub("užitočné", "praktické", moj_text)
novy_text
## [1] "Učenie R Markdown je veľmi praktické a zaujímavé"
Vytvoríme vlastnú funkciu, ktorá z textu spraví štatistiku slov:
analyzuj_text <- function(txt) {
slova <- strsplit(txt, " ")[[1]]
dlzky <- nchar(slova)
list(
pocet_slov = length(slova),
priemerna_dlzka = mean(dlzky),
najdlhsie_slovo = slova[which.max(dlzky)]
)
}
analyzuj_text("Dnes sa učíme programovať v jazyku R Markdown")
## $pocet_slov
## [1] 8
##
## $priemerna_dlzka
## [1] 4.75
##
## $najdlhsie_slovo
## [1] "programovať"
m <- matrix(1:12, nrow = 3, ncol = 4) # hodnoty sú zadavane po stlpcoch
m_byrow <- matrix(1:12, nrow = 3, byrow = TRUE) # hodnoty su zadavane po riadkoch
m; m_byrow
## [,1] [,2] [,3] [,4]
## [1,] 1 4 7 10
## [2,] 2 5 8 11
## [3,] 3 6 9 12
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12