Praca domowa - tidyverse (rozwiązania bez kodu)

Autor

Bartosz Maćkiewicz

Zadanie I

Proszę za pomocą poznanych funkcji z pakietu dplyr stworzyć, korzystając z danych ze zbioru airquality, następującą tabelę:

── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.1     ✔ readr     2.2.0
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.3     ✔ tibble    3.3.1
✔ lubridate 1.9.5     ✔ tidyr     1.3.2
✔ purrr     1.2.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Month n_obs mean_temp sd_temp min_temp max_temp mean_owr sd_owr min_owr max_owr
8 31 83.968 6.585 72 97 10.675 13.296 0.629 51.304
7 31 83.903 4.316 73 92 8.731 7.062 0.490 32.927
9 30 76.900 8.356 63 93 4.624 6.209 0.680 26.071
5 31 65.548 6.855 56 81 2.595 3.852 0.103 20.175
6 30 79.100 6.599 65 93 2.453 1.304 1.043 5.145
  1. Kolumny zaczynające się od mean_, sd_, min_ i max_ to średnia, odchylenie standardowe, najmniejsza i największa obserwacja z każdego miesiąca dla poszczególnych kolumn.

  2. owr dotyczy nowej kolumny, którą muszą Państwo stworzyć - jest to OzoneToWindRatio czyli po prostu wartość z kolumny Ozone podzielona przez wartość z kolumny Wind.

  3. Przy obliczaniu statystyk każdej zmiennej pomijamy jej brakujące wartości. Dotyczy to również wskaźnika OzoneToWindRatio. Brak wartości jednej zmiennej nie wyklucza wykorzystania pozostałych danych z tego samego wiersza. n_obs oznacza liczbę wszystkich obserwacji w danym miesiącu, także tych zawierających braki danych.

  4. Wiersze w wynikowej ramce danych powinny być posortowane według kolumny mean_owr w porządku malejącym. Wartości powinny być zaokrąglone do trzech miejsc po przecinku.

  5. Do stworzenia pięknego wydruku można użyć funkcji kable z pakietu knitr.

Zadanie II

Proszę za pomocą poznanych funkcji z pakietu dplyr stworzyć korzystając z danych ze zbioru ChickWeight następującą tabelę:

Diet mean_diff sd_diff n_chick
1 116.95 68.83961 20
2 174.90 77.96930 10
3 231.10 68.91774 10
4 188.90 50.59743 10
  1. Diet do jedna z czterech diet

  2. mean_diff to średnia z różnic między najwyższą i najniższą wagą każdego kurczaka dla danej diety

  3. sd_diff to odchylenie standardowe różnic między najwyższa i najniższą wagą każdego kurczaka dla danej diety

  4. n_chick to liczba kurczaków karmionych według danej diety.

  5. Do stworzenia pięknego wydruku można użyć funkcji kable z pakietu knitr.

  6. Aby stworzyć taką ramkę danych trzeba użyć group_by oraz summarize w naszym “łańcuchu” funkcji dplyr dwukrotnie - raz, żeby obliczyć odpowiednie rzeczy dla każdego kurczaka, drugi raz, żeby obliczyć dla każdej diety. Proszę nad tym pogłówkować!

Zadanie III

Proszę stworzyć następujący wykres obrazujący rozkład różnic między najwyższą a najniższą wagą każdego kurczaka ze względu na dietę.

  1. Do wykonania tego wykresu należy posłużyć się funkcją vioplot z pakietu vioplot.

  2. Ramka danych, na podstawie której można stworzyć taki wykres, jest krokiem pośrednim w poprzednim zadaniu!

  3. Kolory należy dobrać samodzielnie, również podpisy można zmodyfikować.