Zadanie 1
Zadanie: Preveďte dataset predpovedí a pozorovaní teploty počas 5 pracovných dní do čistého formátu takže následne môžete zobraziť farebne rozlíšený vývoj oboch súborov v jednom grafe (čiarový graf s automaticky generovanou legendou). Príkazy použite v reťazi.
Riešenie:
suppressWarnings({
library(tidyr)
library(tidyverse)
library(dplyr)
library(readxl)
library(ggplot2)
library(forcats)
})
data.frame(den = c("Po", "Ut", "St", "Št", "Pi"),
meranie = c(23, 20, 18, 26, 20),
predpoveď = c(20, 18, 16, 23, 21)
) %>%
mutate(
den = forcats::as_factor(den) #den = as_factor(den,level = c("Po", "Ut", "St", "Št", "Pi"))
) %>%
pivot_longer(cols = c(`meranie`, `predpoveď`), names_to = "druh", values_to = "teploty") %>%
print() %>%
ggplot(mapping = aes(x = den, y = teploty, group = druh, color = druh)) +
geom_line()
## # A tibble: 10 × 3
## den druh teploty
## <fct> <chr> <dbl>
## 1 Po meranie 23
## 2 Po predpoveď 20
## 3 Ut meranie 20
## 4 Ut predpoveď 18
## 5 St meranie 18
## 6 St predpoveď 16
## 7 Št meranie 26
## 8 Št predpoveď 23
## 9 Pi meranie 20
## 10 Pi predpoveď 21
Zadanie 2
Zadanie: Importujte súbor údajov iris.xlsx a buď pomocou nástrojov readxl/tidyr alebo pomocou tidyxl/unpivotr ho transformujte do čistého formátu, takže stĺpce obsahujú výlučne hodnoty premenných druh kosatca, typ lupeňa, šírka, dĺžka. Následne v jednom grafe zobrazte vzťah medzi dĺžkou a šírkou s rozlíšením zvyšných premenných pomocou vhodných grafických atribútov (color, shape, …) alebo faziet (facets).
Riešenie:
## New names:
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
iris_data1 <- iris_xlsx %>%
tail(-2) %>%
select(-"...3",-"...5")%>%
dplyr::rename(Sepal = "...2",Druh="Iris dataset, 150 observations, 3 species, 2 flower leaves, 2 dimensions.",Petal = "...4") %>%
fill(Druh)%>%
pivot_longer(cols = c(`Sepal`, `Petal`), names_to = 'Druh_lupena', values_to = "Dlžka") %>%
mutate(Dlžka = as.numeric(gsub(",", ".", Dlžka)))
iris_data2 <- iris_xlsx %>%
tail(-2) %>%
select(-"...2",-"...4") %>%
dplyr::rename(Druh="Iris dataset, 150 observations, 3 species, 2 flower leaves, 2 dimensions.",Sepal= "...3",Petal = "...5") %>%
fill(Druh)%>%
pivot_longer(cols = c(`Sepal`, `Petal`), names_to = 'Druh_lupena', values_to = "Širka") %>%
select(-"Druh_lupena",-"Druh") %>%
mutate(Širka = as.numeric(gsub(",", ".", Širka)))
iris_data3 <- bind_cols(iris_data1, iris_data2)
iris_data3
## # A tibble: 300 × 4
## Druh Druh_lupena Dlžka Širka
## <chr> <chr> <dbl> <dbl>
## 1 setosa Sepal 5.1 3.5
## 2 setosa Petal 1.4 0.2
## 3 setosa Sepal 4.9 3
## 4 setosa Petal 1.4 0.2
## 5 setosa Sepal 4.7 3.2
## 6 setosa Petal 1.3 0.2
## 7 setosa Sepal 4.6 3.1
## 8 setosa Petal 1.5 0.2
## 9 setosa Sepal 5 3.6
## 10 setosa Petal 1.4 0.2
## # ℹ 290 more rows
g <- ggplot(data = iris_data3, aes(x = Širka, y = Dlžka))
g + geom_point(aes(colour = Druh, size = Druh_lupena)) + labs(title = "Šírka a dĺžka okvrtneho listka podľa druhov")
## Warning: Using size for a discrete variable is not advised.