Cvičenie

Zadanie: Pomocou nástrojov z balíkov dplyr a ggplot2 vypracujte úlohy z Prieskumnej analýzy. Grafy v druhej a podobne i v tretej úlohe umiestnite vedľa seba pomocou balíka patchwork.

Cvičenie 1

Zadanie: Načítajte tabuľku údajov datasets::iris do nového dátového rámca (napríklad dat), ponechajte si iba jeden znakový a dva numerické stĺpce (šírka, dĺžka) a každému dajte iné než anglické názvy. Súbor údajov slovne opíšte (pôvod, počet pozorovaní, význam a povahu štatistických znakov, strednú alebo najčastejšiu hodnotu).

Riešenie:

  library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
  library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
  library(patchwork)
## Warning: package 'patchwork' was built under R version 4.3.3
  i_dat<-datasets::iris
  i_subset=subset(i_dat, select =c(Petal.Length,Petal.Width,Species)) 
    rename(i_subset,
        "Dlžka.okvetného.listka"=Petal.Length,
        "Širka.okvetného.listka"=Petal.Width,
        "Druh"=Species)
##     Dlžka.okvetného.listka Širka.okvetného.listka       Druh
## 1                      1.4                    0.2     setosa
## 2                      1.4                    0.2     setosa
## 3                      1.3                    0.2     setosa
## 4                      1.5                    0.2     setosa
## 5                      1.4                    0.2     setosa
## 6                      1.7                    0.4     setosa
## 7                      1.4                    0.3     setosa
## 8                      1.5                    0.2     setosa
## 9                      1.4                    0.2     setosa
## 10                     1.5                    0.1     setosa
## 11                     1.5                    0.2     setosa
## 12                     1.6                    0.2     setosa
## 13                     1.4                    0.1     setosa
## 14                     1.1                    0.1     setosa
## 15                     1.2                    0.2     setosa
## 16                     1.5                    0.4     setosa
## 17                     1.3                    0.4     setosa
## 18                     1.4                    0.3     setosa
## 19                     1.7                    0.3     setosa
## 20                     1.5                    0.3     setosa
## 21                     1.7                    0.2     setosa
## 22                     1.5                    0.4     setosa
## 23                     1.0                    0.2     setosa
## 24                     1.7                    0.5     setosa
## 25                     1.9                    0.2     setosa
## 26                     1.6                    0.2     setosa
## 27                     1.6                    0.4     setosa
## 28                     1.5                    0.2     setosa
## 29                     1.4                    0.2     setosa
## 30                     1.6                    0.2     setosa
## 31                     1.6                    0.2     setosa
## 32                     1.5                    0.4     setosa
## 33                     1.5                    0.1     setosa
## 34                     1.4                    0.2     setosa
## 35                     1.5                    0.2     setosa
## 36                     1.2                    0.2     setosa
## 37                     1.3                    0.2     setosa
## 38                     1.4                    0.1     setosa
## 39                     1.3                    0.2     setosa
## 40                     1.5                    0.2     setosa
## 41                     1.3                    0.3     setosa
## 42                     1.3                    0.3     setosa
## 43                     1.3                    0.2     setosa
## 44                     1.6                    0.6     setosa
## 45                     1.9                    0.4     setosa
## 46                     1.4                    0.3     setosa
## 47                     1.6                    0.2     setosa
## 48                     1.4                    0.2     setosa
## 49                     1.5                    0.2     setosa
## 50                     1.4                    0.2     setosa
## 51                     4.7                    1.4 versicolor
## 52                     4.5                    1.5 versicolor
## 53                     4.9                    1.5 versicolor
## 54                     4.0                    1.3 versicolor
## 55                     4.6                    1.5 versicolor
## 56                     4.5                    1.3 versicolor
## 57                     4.7                    1.6 versicolor
## 58                     3.3                    1.0 versicolor
## 59                     4.6                    1.3 versicolor
## 60                     3.9                    1.4 versicolor
## 61                     3.5                    1.0 versicolor
## 62                     4.2                    1.5 versicolor
## 63                     4.0                    1.0 versicolor
## 64                     4.7                    1.4 versicolor
## 65                     3.6                    1.3 versicolor
## 66                     4.4                    1.4 versicolor
## 67                     4.5                    1.5 versicolor
## 68                     4.1                    1.0 versicolor
## 69                     4.5                    1.5 versicolor
## 70                     3.9                    1.1 versicolor
## 71                     4.8                    1.8 versicolor
## 72                     4.0                    1.3 versicolor
## 73                     4.9                    1.5 versicolor
## 74                     4.7                    1.2 versicolor
## 75                     4.3                    1.3 versicolor
## 76                     4.4                    1.4 versicolor
## 77                     4.8                    1.4 versicolor
## 78                     5.0                    1.7 versicolor
## 79                     4.5                    1.5 versicolor
## 80                     3.5                    1.0 versicolor
## 81                     3.8                    1.1 versicolor
## 82                     3.7                    1.0 versicolor
## 83                     3.9                    1.2 versicolor
## 84                     5.1                    1.6 versicolor
## 85                     4.5                    1.5 versicolor
## 86                     4.5                    1.6 versicolor
## 87                     4.7                    1.5 versicolor
## 88                     4.4                    1.3 versicolor
## 89                     4.1                    1.3 versicolor
## 90                     4.0                    1.3 versicolor
## 91                     4.4                    1.2 versicolor
## 92                     4.6                    1.4 versicolor
## 93                     4.0                    1.2 versicolor
## 94                     3.3                    1.0 versicolor
## 95                     4.2                    1.3 versicolor
## 96                     4.2                    1.2 versicolor
## 97                     4.2                    1.3 versicolor
## 98                     4.3                    1.3 versicolor
## 99                     3.0                    1.1 versicolor
## 100                    4.1                    1.3 versicolor
## 101                    6.0                    2.5  virginica
## 102                    5.1                    1.9  virginica
## 103                    5.9                    2.1  virginica
## 104                    5.6                    1.8  virginica
## 105                    5.8                    2.2  virginica
## 106                    6.6                    2.1  virginica
## 107                    4.5                    1.7  virginica
## 108                    6.3                    1.8  virginica
## 109                    5.8                    1.8  virginica
## 110                    6.1                    2.5  virginica
## 111                    5.1                    2.0  virginica
## 112                    5.3                    1.9  virginica
## 113                    5.5                    2.1  virginica
## 114                    5.0                    2.0  virginica
## 115                    5.1                    2.4  virginica
## 116                    5.3                    2.3  virginica
## 117                    5.5                    1.8  virginica
## 118                    6.7                    2.2  virginica
## 119                    6.9                    2.3  virginica
## 120                    5.0                    1.5  virginica
## 121                    5.7                    2.3  virginica
## 122                    4.9                    2.0  virginica
## 123                    6.7                    2.0  virginica
## 124                    4.9                    1.8  virginica
## 125                    5.7                    2.1  virginica
## 126                    6.0                    1.8  virginica
## 127                    4.8                    1.8  virginica
## 128                    4.9                    1.8  virginica
## 129                    5.6                    2.1  virginica
## 130                    5.8                    1.6  virginica
## 131                    6.1                    1.9  virginica
## 132                    6.4                    2.0  virginica
## 133                    5.6                    2.2  virginica
## 134                    5.1                    1.5  virginica
## 135                    5.6                    1.4  virginica
## 136                    6.1                    2.3  virginica
## 137                    5.6                    2.4  virginica
## 138                    5.5                    1.8  virginica
## 139                    4.8                    1.8  virginica
## 140                    5.4                    2.1  virginica
## 141                    5.6                    2.4  virginica
## 142                    5.1                    2.3  virginica
## 143                    5.1                    1.9  virginica
## 144                    5.9                    2.3  virginica
## 145                    5.7                    2.5  virginica
## 146                    5.2                    2.3  virginica
## 147                    5.0                    1.9  virginica
## 148                    5.2                    2.0  virginica
## 149                    5.4                    2.3  virginica
## 150                    5.1                    1.8  virginica
  summary(i_dat)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

Cvičenie 2

Zadanie 2: Zobrazte stĺpcové grafy charakterizujúce rozdelenie pravdepodobnosti hodnôt každej premennej zvlášť. Čo ste sa o nich dozvedeli?

Riešenie:

  library(patchwork)
  g1 <- ggplot(data = i_dat, mapping = aes(x = Petal.Length ))
  p1 <- g1 + geom_histogram(bins = 15, color = "white", fill = "steelblue")
  g2 <- ggplot(data = i_dat, mapping = aes(x = Petal.Width ))
  p2 <- g2 + geom_histogram(bins = 15, color = "white", fill = "darkmagenta")
  g3 <- ggplot(data = i_dat, mapping = aes(x = Sepal.Length ))
  p3 <- g3 + geom_histogram(bins = 15, color = "white", fill = "goldenrod")
  g4 <- ggplot(data = i_dat, mapping = aes(x = Sepal.Width ))
  p4 <- g4 + geom_histogram(bins = 15, color = "white", fill = "yellowgreen")
  ( (p1/p2) | (p3 / p4) ) + plot_annotation(title = "Histogramy rozmerov listkov")

Záver: Histogram dlžky kališneho listka a histogram širky kališneho listka sú veľmi podobné Gaussovmu rozdeleniu. To znamená, že viacero kališných listkov má priblizne rovnakú veltosť na rozdiel od okvrtných listkov.

Cvičenie 3

Zadanie 3: Ako sa zmenia stredné hodnoty šírky a dĺžky lístkov/lupeňov, ak prihliadneme na druh kosatca? Tabuľku výsledkov doplňte o vizualizáciu (rozdelenia každého rozmeru podľa druhu) vhodným grafom (nie stĺpcovým).

Riešenie:

  aggregate( . ~ Species, data = i_dat, FUN = mean)
##      Species Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     setosa        5.006       3.428        1.462       0.246
## 2 versicolor        5.936       2.770        4.260       1.326
## 3  virginica        6.588       2.974        5.552       2.026
  p1 <- ggplot(data = i_dat, aes(x = Species, y=Petal.Length)) + geom_boxplot( color = "black", fill = "steelblue")
  p2 <- ggplot(data = i_dat, aes(x = Species, y=Petal.Width)) + geom_boxplot( color = "black", fill = "darkmagenta")
  p3 <- ggplot(data = i_dat, aes(x = Species, y=Sepal.Length)) + geom_boxplot( color = "black", fill = "goldenrod")
  p4 <- ggplot(data = i_dat, aes(x = Species, y=Sepal.Width)) + geom_boxplot( color = "black", fill = "yellowgreen")
  ( (p1/p2) | (p3 / p4) ) + plot_annotation(title = "BoxPloty rozmerov listkov podľa druhu")

Záver: Dĺžka a širka všetkých listov závisí od druhu kvetu a každý druh kvetu má svoju dĺžku a širku listov.

Cvičenie 4

Zadanie 4: Na základe vhodného grafu slovne popíšte, ako spolu súvisia šírka a dĺžka (Tzn. ak hodnoty jednej rastú, ako sa správajú hodnoty druhej?).

Riešenie:

  g1 <- ggplot(data = i_dat, aes(x=Petal.Width,y=Petal.Length))
  g1 + geom_point(color="darkmagenta")

  g2 <- ggplot(data = i_dat, aes(x=Sepal.Width,y=Sepal.Length))
  g2 + geom_point(color="yellowgreen")

Záver: Okvrtnehé listy si zachovávajú svoju proporcionalitu so zmenami jeho veľkosti na rozdiel od kališných listkov, ktoré vyzeraju nahodne.

Cvičenie 5

Zadanie 5: Čo sa na závislosti šírky a dĺžky zmení, ak ich vyšetríme po jednotlivých druhoch? Svoje tvrdenie podporte vhodným grafom, kde druh kvetu odlíšite zvoleným grafickým atribútom (napr. farba, znak alebo veľkosť). Jeho súčasťou musí byť aj legenda.

Riešenie:

  g1 <- ggplot(data = i_dat, aes(x=Petal.Width,y=Petal.Length))
  g1 + geom_point(aes(colour=Species))

Záver: Druh “virginita” má najväčšie okvrtnehy listky, “setosa” najmenšie. Všetky okvrtnehy listky si zachovávajú svoju proporcionalitu. Druh “setosa” ma najširšie a najkratšie kališné listky. Druhy “virginita” a “versicolor” maju približne rovnaké kališné listky.