source(here::here("setup_dotaznik.R"), encoding = "UTF-8") source(here::here("datasety_dotaznik.R"), encoding = "UTF-8")
strediska_skautis <- read_csv2("public_data/pocet-clenu-strediska-2019.csv", na = c("NULL"), col_types = cols( Year = col_integer(), ID_Unit = col_integer(), ID_UnitType = col_character(), RegistrationNumber = col_character(), UnitName = col_character(), Location = col_character(), RegularMembersTo6 = col_integer(), RegularMembersTo15 = col_integer(), RegularMembersTo18 = col_integer(), RegularMembersTo26 = col_integer(), RegularMembersFrom26 = col_integer(), RegularMembers = col_integer(), MembersTo6 = col_integer(), MembersTo15 = col_integer(), MembersTo18 = col_integer(), MembersTo26 = col_integer(), MembersFrom26 = col_integer(), Members = col_integer() )) strediska_skautis_id <- strediska_skautis %>% select(RegistrationNumber, UnitName, Location) head(strediska_skautis_id)
Kontrola: hledáme střediska, kde po namapování reg. čísla, jak ho vyplnili lidé nesedí název s tím, který je k tomu reg. č. uveden ve SkautISu.
replace_stredisko <- function(x) { gsub(pattern = " ?(skautské)? ?st.edisko ?", replacement = "",ignore.case = TRUE, x = x) } normalize_stredisko <- function(x) { replace_stredisko(x) %>% gsub(x = ., pattern = " ", replacement = "", fixed = TRUE) %>% tolower() } datasety_wide$pouzitelne %>% select(reg_c_strediska_orig, nazev_strediska) %>% mutate(reg_c_strediska = str_trim(reg_c_strediska_orig)) %>% distinct() %>% inner_join(strediska_skautis_id, by = c("reg_c_strediska" = "RegistrationNumber")) %>% transmute(reg_c_strediska = reg_c_strediska, nazev_strediska_dotaznik = replace_stredisko(nazev_strediska), nazev_strediska_skautis = replace_stredisko(UnitName), misto_strediska_skautis = Location, nrml_stredisko_dotaznik = normalize_stredisko(nazev_strediska), nrml_stredisko_skautis = normalize_stredisko(UnitName)) %>% rowwise() %>% filter(!grepl(nrml_stredisko_dotaznik, nrml_stredisko_skautis, fixed = TRUE), !grepl(nrml_stredisko_skautis, nrml_stredisko_dotaznik, fixed = TRUE)) %>% ungroup() %>% select(nazev_strediska_dotaznik, nazev_strediska_skautis, misto_strediska_skautis, reg_c_strediska)
Jediné, co nesedí je předposlední řádek - "Watakí" vs. "Jablonec nad Nisou", ale to je v pořádku, protože středisko Jablonec nad Nisou vzniklo sloučením středisek Kříšťál a Watakí (http://jablonec.skauting.cz/informace-o-stredisku/)
Tj. celkově můžeme říct, že tam, kde je vyplněné reg. číslo, je vyplněné správně!
OK, jak vypadají ty, kde se reg. č. nenamapovalo
nesparovana <- datasety_wide$pouzitelne %>% mutate(reg_c_strediska = reg_c_strediska_orig) %>% filter(typ_id_strediska == "reg_cislo", !(str_trim(reg_c_strediska) %in% strediska_skautis_id$RegistrationNumber)) %>% select(reg_c_strediska, nazev_strediska, nazev_oddilu) #write_csv(nesparovana, here("local_data","nesparovana_strediska.csv")) write.csv(nesparovana, here("local_data","nesparovana_strediska.csv"), fileEncoding = "UTF-8")
oddily_skautis <- read_csv2(here("public_data/pocet-clenu-oddily-2019.csv"), na = c("NULL"), col_types = cols( Year = col_integer(), ID_Unit = col_integer(), ID_UnitType = col_character(), RegistrationNumber = col_character(), UnitName = col_character(), Location = col_character(), RegularMembersTo6 = col_integer(), RegularMembersTo15 = col_integer(), RegularMembersTo18 = col_integer(), RegularMembersTo26 = col_integer(), RegularMembersFrom26 = col_integer(), RegularMembers = col_integer(), MembersTo6 = col_integer(), MembersTo15 = col_integer(), MembersTo18 = col_integer(), MembersTo26 = col_integer(), MembersFrom26 = col_integer(), Members = col_integer() ))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.