Cvičenie

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)
## 
## 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
  dat<-carData::UN 
  dat %>% 
    rename(
        "рэгіён"=region,
        "група"=group,
        "фертыльнасць"=fertility,
        "ВУП(ППЗ)"=ppgdp,
        "Працягласть_жыцця"=lifeExpF,
        "Працэнт_урбанізацыі"=pctUrban,
        "Дзіцяча_смяротнасць"=infantMortality) %>% 
    filter(рэгіён=="Europe") %>%
    mutate(група=ifelse (група=="other", "ostatne", "OECD")) %>%
    mutate(Доля_урб=Працэнт_урбанізацыі/100) %>%
    group_by(група) %>%
    summarise(across(.cols = where(is.numeric) & !Працэнт_урбанізацыі, .fns = mean)) %>% 
    arrange(Працягласть_жыцця) 
## # 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