Zadanie

Zadanie: Jedinou reťazou príkazov a pomocou nástrojov z balíka dplyr vykonajte postupne nasledujúce úlohy:

  1. Načítať tabuľku údajov UN z balíku carData,
  2. Premenovať stĺpce z angličtiny do svojho rodného jazyka,
  3. Ponechať v tabuľke iba európske krajiny,
  4. Prekódovať hodnoty premennej skupina na {OECD, ostatné},
  5. Vytvoriť novú premennú konverziou percenta mestskej populácie na podiel v intervale [0,1] (stĺpec umiestniť hneď vedľa),
  6. Zoskupiť pozorovania podľa skupiny,
  7. Vypočítať priemerné hodnoty všetkých numerických premenných okrem percenta urbanizácie (napríklad pomocou across a where),
  8. Zoradiť podľa priemerného veku dožitia vzostupne.

Riešenie:

library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
# Zadanie 1
data <- carData::UN

data %>%
    rename(
      "Регіон" = region, 
      "Група" = group, 
      "Плодючість" = fertility, 
      "ВВП" = ppgdp,
      "Трив_життя" = lifeExpF,
      "Проц_урб" = pctUrban,
      "Дит_смерт" = infantMortality
      ) %>%                         # Zadanie 2
    filter(Регіон == "Europe") %>%  # Zadanie 3
    mutate(
      Група = ifelse(Група == "other", "ostatne", "OECD"),
      Частка_урб = Проц_урб / 100
    ) %>%                  # Zadanie 4,5
    group_by(Група) %>%    # Zadanie 6
    summarise(across(.cols = where(is.numeric) & !Проц_урб, .fns = mean)) %>%  # Zadanie 7
    arrange(Трив_життя)    # Zadanie 8
## # A tibble: 2 × 6
##   Група   Плодючість    ВВП Трив_життя Дит_смерт Частка_урб
##   <chr>        <dbl>  <dbl>      <dbl>     <dbl>      <dbl>
## 1 ostatne       1.50 10806.       78.4      9.09      0.666
## 2 OECD          1.66 40212.       82.5      3.83      0.734