---
title: "R Notebook"
output: html_notebook
---

```{r}
library(tidyverse)
library(magrittr)
library(readxl)
```

V souboru níže najdete jména dětí narozených v ČR v lednu 2019
```{r}
download.file(url = "https://www.czso.cz/documents/10180/127713060/tabulka_s_celkovym_poradim_2019.xlsx/43178ee7-0379-44e5-9997-850b5cf8476c?version=1.0",
              destfile = "jmenadeti_2019.xlsx")
```

```{r}
jmenadeti <- readxl::read_xlsx("jmenadeti_2019.xlsx")
```


```{r}
head(jmenadeti)
```


Zkopírujte si objekt `jmenadeti` do objektu `moje_jmena` a na něm si tabulku 
pořádně pročistěte podle návodu níže:

Přidejte sloupec "year" s hodnotou "2019" ve všech řádcích a ponechte jenom sloupce
s pořadími  a jmény. Sloupce přejmenujte na `rank_boys`, `boys`, `rank_girls`, 
`girls`.   
 
```{r}

moje_jmena <- jmenadeti %>% dplyr::mutate(year = "2019") %>% 
  dplyr::select(rank_boys = `Pořadí...3`, 
                boys = `Kluci jména`, 
                rank_girls =  `Pořadí...6`,
                girls = `Holky jména`,
                year
                )
  
glimpse(moje_jmena)  
```

Pro další operace si spojíme všechny děti do jednoho sloupce a pohlaví uvedeme 
ve sloupci vedle jmen. Výsledná tabulka by měla vypadat takto:
```{r fig.align = 'center', out.width = "85%"}
library(here)
knitr::include_graphics(here::here("vzortabka.png"))

```
Teď to spojení: 

```{r}
boys <- moje_jmena %>% select(rank = rank_boys, name = boys, year) %>% 
  mutate(sex = "boys")
girls <- moje_jmena %>% select(rank = rank_girls, name = girls, year) %>% 
  mutate(sex = "girls")
moje_jmena <- bind_rows(boys, girls)
# holek bylo víc, budou tam NA u klučičích sloupců rank a name
moje_jmena <- tidyr::drop_na(moje_jmena)  
```

Pořadí teď je jako znakový vektor, protože jsou tam sdílená pořadí jako 
"116-119". Pomocí funkce `readr::parse_number` z něho 
udělejte číselný (u obou - holek i kluků). 
Co funkce přesně udělá: vytáhne první 
nejdelší možný nepřerušený řetězec číslic, zbytek zahodí, výsledek konvertuje
do číselného vektoru. 

```{r}
moje_jmena %<>% mutate(rank = parse_number(rank))
```

```{r}
glimpse(moje_jmena)
```


Jak zjistíme percentil? Pro každé pohlaví 1 - rank / nejvyšší rank pro dané pohlaví, 
to celé vynásobit 100 a zaokrouhlit

```{r}
moje_jmena %<>% group_by(sex) %>% mutate(percentile = round((1- rank/max(rank))*100,1))
```

```{r}
moje_jmena %<>% select(rank,name, sex, percentile, year)
```

```{r}
write_tsv(moje_jmena, "moje_jmena.tsv")
```






