source(here::here("setup_dotaznik.R"), encoding = "UTF-8")
source(here::here("datasety_dotaznik.R"), encoding = "UTF-8")
plots <- list() 

TODO: Diskrepance: role - “člen roverského společenství” a kategorie respondenta

v_kmeni_od_14ti <- sum(datasety_wide$pouzitelne$let_v_kmeni > datasety_wide$pouzitelne$age - 14, na.rm = TRUE)
v_kmeni_od_13ti <- sum(datasety_wide$pouzitelne$let_v_kmeni > datasety_wide$pouzitelne$age - 13, na.rm = TRUE)

r v_kmeni_od_14ti respondentů bylo (dle svých odpovědí) v kmeni už ve 14ti letech, r v_kmeni_od_13ti dokonce ve 13ti. Otázka, jestli to není spíš znak, že to lidé vyplňovali špatně. (V hlavních datech tyto ignoruji)

hlavni_data %>% filter(!is.na(let_v_kmeni)) %>%
  group_by(let_v_kmeni, age) %>%
  summarise(pocet = n()) %>%
  ggplot(aes(x = let_v_kmeni, y = age, fill = pocet)) + geom_raster() + 
  scale_fill_revize(discrete = FALSE)  + vodorovne_popisky_x

Věk vstupu do Junáka se moc neliší napříč věkovými skupinami.

data_vstupy <- hlavni_data %>% mutate(
  vek_vstupu_do_kmene = if_else(kategorie_respondenta_full == "nyni_spolecenstvi", age - let_v_kmeni, NA_real_),
  vek_vstupu_do_junaka = age - let_v_junaku)
data_vstupy %>% filter(!is.na(vek_vstupu_do_junaka)) %>%
  group_by(vek_vstupu_do_junaka, age) %>%
  summarise(pocet = n()) %>%
  group_by(age) %>%
  mutate(podil_ve_vekove_skupine = pocet / sum(pocet)) %>%
  ggplot(aes(x = vek_vstupu_do_junaka, y = age, fill = podil_ve_vekove_skupine)) + geom_raster() + 
  scale_fill_revize(discrete = FALSE)  + vodorovne_popisky_x
data_vstupy %>% filter(!is.na(vek_vstupu_do_kmene)) %>%
  group_by(vek_vstupu_do_kmene, age) %>%
  summarise(pocet = n()) %>%
  group_by(age) %>%
  mutate(podil_ve_vekove_skupine = pocet / sum(pocet)) %>%
  ggplot(aes(x = vek_vstupu_do_kmene, y = age, fill = podil_ve_vekove_skupine)) + geom_raster() + 
  scale_fill_revize(discrete = FALSE)  + vodorovne_popisky_x

Rozložení věku vstupu do Junáka vychází podobně jako z registrace. Pozn. ti u kterých vycházel věk vstupu do Junáka menší než 5 byli vyjmuti.

plots$vek_vstupu_do_junaka <- data_vstupy %>% filter(!is.na(vek_vstupu_do_junaka)) %>%
  ggplot(aes(x = vek_vstupu_do_junaka)) + geom_freqpoly(binwidth = 1) + vodorovne_popisky_x
plots$vek_vstupu_do_junaka
hlavni_data %>% filter(kategorie_respondenta == "nyni_spolecenstvi", !ma_roverskou_roli) %>% 
  plot_summary_mc(role_skauting, title = "Role lidí ve společenství, \nkteří se necítí rovery", min_podil = 0.01)

Použité nástroje

Použité nástroje se moc nezmění, když se podíváme jen na současné členy společenství.

plots$vychovne_nastroje_jen_soucasni <- hlavni_data %>%
  filter(kategorie_respondenta_full == "nyni_spolecenstvi") %>% 
  plot_summary_mc(vychovne_nastroje, "Používáme tyto výchovné nástroje", subtitle = "Jen nyní ve společenství")
plots$vychovne_nastroje_jen_soucasni

Taky žádná velká změna, když se podíváme jen na lidi, co jsou ve vedení společenství (označili jako svou roli "Vedoucí roverského společenství", "Člen rady roverského kmene" nebo "(Neformální) tahoun roverského společenství".

plots$vychovne_nastroje_jen_vedeni <- hlavni_data %>%
  filter(role_skauting.tahoun_roveru | role_skauting.vedouci_roveru | role_skauting.clen_rady_roveru) %>% 
  plot_summary_mc(vychovne_nastroje, "Používáme tyto výchovné nástroje", subtitle = "Jen lidé ve vedení společenství")
plots$vychovne_nastroje_jen_vedeni

Zkrácené obrázky pro slidy

plots$vychovne_nastroje_top <- plot_summary_mc(hlavni_data, vychovne_nastroje, "Nejpoužívanější výchovné nástroje", min_podil =  0.25)
plots$vychovne_nastroje_top
plots$vychovne_nastroje_bottom <- plot_summary_mc(hlavni_data, vychovne_nastroje, "Nejméně používané výchovné nástroje", max_podil =  0.15, invert_color_threshold = 0.01)
plots$vychovne_nastroje_bottom
save_list_of_plots(plots,"stav_roveringu")

Nástroje roverského programu

hlavni_data %>% plot_frekvence_by("frekvence_kratkych_akci", byl_na_kurzu)
#cela_data_rs %>% plot_frekvence_by(quo(frekvence_vicedennich_akci), byl_na_kurzu)
#cela_data_rs %>% plot_frekvence_by(quo(frekvence_velkych_akci), byl_na_kurzu)

Kurzy a pohlaví

data_fit_co_zazil_age_sex <- hlavni_data %>% filter(!is.na(co_zazil), sex != "jinak_neuvedeno") %>%
  group_by(age,sex) %>% summarise(pocet = n(), cekatelky = sum(co_zazil.cekatelky), vudcovky = sum(co_zazil.vudcovky), roversky_kurz = sum(co_zazil.roversky_kurz), jiny_kurz = sum(co_zazil.jiny_kurz))

# brms::get_prior(mvbind(cekatelky,vudcovky,roversky_kurz, jiny_kurz) | trials(pocet) ~ s(age) + (1||sex), family = "binomial", data = data_fit_co_zazil_age_sex)

prior_co_zazil_age_sex <- 
  brms::set_prior("normal(0,1)", class = "b") +
  #brms::set_prior("normal(0,1)", class = "sd") +
  brms::set_prior("normal(0,1)", class = "sds")


fits_co_zazil_age_sex <- list()
for(co_zazil in c("cekatelky","vudcovky","roversky_kurz")) {

  formula_co_zazil <- as.formula(paste0(co_zazil, " | trials(pocet) ~ s(age) + sex"))
  fits_co_zazil_age_sex[[co_zazil]] <- brm_with_cache(cache_file = here(paste0("local_data/fits/co_zazil_age_sex_",co_zazil,".rds")), formula = formula_co_zazil, family = "binomial", data = data_fit_co_zazil_age_sex, prior = prior_co_zazil_age_sex, control = list(adapt_delta = 0.99))

  print(fits_co_zazil_age_sex[[co_zazil]])
}
hlavni_data %>% filter(!is.na(co_zazil), sex != "jinak_neuvedeno") %>%
  mutate(roversky_kurz.muz = if_else(sex == "muz", co_zazil.roversky_kurz, NA),
         roversky_kurz.zena = if_else(sex == "zena", co_zazil.roversky_kurz, NA)) %>%
  plot_binarni_s_nejistotou(c("roversky_kurz.muz","roversky_kurz.zena"), by = age, na.rm = TRUE)

hlavni_data %>% filter(!is.na(co_zazil), sex != "jinak_neuvedeno") %>%
  mutate(cekatelky.muz = if_else(sex == "muz", co_zazil.cekatelky, NA),
         cekatelky.zena = if_else(sex == "zena", co_zazil.cekatelky, NA)) %>%
  plot_binarni_s_nejistotou(c("cekatelky.muz","cekatelky.zena"), by = age, na.rm = TRUE)
hlavni_data %>% filter(!is.na(co_zazil), sex != "jinak_neuvedeno") %>% plot_binarni_s_nejistotou(paste0("co_zazil.", c("cekatelky","vudcovky","roversky_kurz", "jiny_kurz")), by = sex, flip = TRUE)

Organizace kmene

Existují v nemalé míře v podstatě všechny kombinace formálního/neformálního vedení a (ne)organizace.

hlavni_data %>% 
  filter(!is.na(organizace_spolecenstvi)) %>% 
  mutate(neformalni = organizace_spolecenstvi %contains_any_word% c("neformalni_tahoun", "neformalni_rada"),
         je_formalni = organizace_spolecenstvi %contains_any_word% c("formalni_vudce_zhury", "formalni_vudce_demokraticky", "formalni_rada_zhury",
               "formalni_rada_demokraticky")) %>%
  group_by(neformalni, je_formalni, neni_organizovan) %>% summarise(pocet = n()) %>%
  ungroup() %>%
  mutate(podil = pocet / sum(pocet))

Spokojenost roverů

plots$spokojenost_frekvence_akci_vicedenni_akce <- hlavni_data %>%
  filter(kategorie_respondenta == "nyni_spolecenstvi") %>%
  plot_binarni_s_nejistotou("s_cim_spokojen.cetnost_akci", frekvence_vicedennich_akci, na.rm = TRUE) + plot_annotation("Spokojen s frekvencí akcí dle frekvence", "Vícedenní akce")
plots$spokojenost_frekvence_akci_vicedenni_akce  
plots$spokojenost_frekvence_akci_velke_akce <- hlavni_data %>%
  filter(kategorie_respondenta == "nyni_spolecenstvi") %>%
  plot_binarni_s_nejistotou("s_cim_spokojen.cetnost_akci", frekvence_velkych_akci, na.rm = TRUE) + plot_annotation("Spokojen s frekvencí akcí dle frekvence", "Velké akce")
plots$spokojenost_frekvence_akci_velke_akce  
hlavni_data %>% 
  filter(kategorie_respondenta == "nyni_spolecenstvi") %>%
  plot_binarni_s_nejistotou(c("s_cim_spokojen.vztahy"), age, na.rm = TRUE) + plot_annotation("Spokojen se vztahy dle věku", "Jen současní členové")

hlavni_data %>% 
  filter(kategorie_respondenta == "nyni_spolecenstvi") %>%
  plot_binarni_s_nejistotou(c("s_cim_spokojen.kontakty"), age, na.rm = TRUE) + plot_annotation("Spokojen s kontakty s dalšími RS programu dle věku", "Jen současní členové")

hlavni_data %>% 
  filter(kategorie_respondenta == "nyni_spolecenstvi") %>%
  plot_binarni_s_nejistotou(c("s_cim_spokojen.postoj_strediska"), age, na.rm = TRUE) + plot_annotation("Spokojen s postojem střediska dle věku", "Jen současní členové")

#plots$spokojenost_frekvence_akci_vek
hlavni_data %>% filter(!is.na(vychovne_nastroje), kategorie_respondenta == "nyni_spolecenstvi", !role_skauting.vedouci_roveru, !role_skauting.tahoun_roveru) %>% plot_ciselne_s_nejistotou("pocet_klicovych_nastroju", organizace_nejvyssi) + plot_annotation("Výchovné nástroje dle organizace", subtitle =  paste0("Počet použitých klíčových nástrojů. Bez respondentů, kteří sami vedou. Za klíčové se berou:\n ", paste0(klicove_nastroje_id, collapse = ", ")))
hlavni_data %>% filter(kategorie_respondenta == "nyni_spolecenstvi", !role_skauting.vedouci_roveru, !role_skauting.tahoun_roveru) %>%plot_frekvence_by("frekvence_vicedennich_akci", organizace_nejvyssi) + plot_annotation("Frekvence vícedenních akcí", "dle organizace kmene, jen současní členové. Bez respondentů, kteří sami vedou.")

Problémy roveringu

Problémy jsou podobné mezi členy i nečleny (a i když je dáme dohromady). Akorát tam, kde není společenství je větší důraz na "nikdo nevede" a tam, kde společenství je se zdůrazňuje vytížení/odchody - ale i tak jsou to spíš menší rozdíly.

plots$problemy_cleni <- hlavni_data %>% plot_summary_mc(problemy_roveringu, "Hlavní problémy roveringu \n jen členi společenství")

plots$problemy_cleni
plots$problemy_necleni <- hlavni_data %>% plot_summary_mc(problemy_roveringu_stredisko, "Hlavní problémy roveringu \n jen mimo společenství")

plots$problemy_necleni
if(any(!is.na(hlavni_data$problemy_roveringu) && !is.na(hlavni_data$problemy_roveringu_stredisko))) {
  stop("Problemy nejsou unikatni")
}
plots$problemy_all <- hlavni_data %>% mutate(problemy_roveringu_all = if_else(!is.na(problemy_roveringu), problemy_roveringu, 
                                                  problemy_roveringu_stredisko)) %>%
  plot_summary_mc(problemy_roveringu_all, "Hlavní problémy roveringu")

plots$problemy_all

Roverští singles

hlavni_data %>% group_by(kategorie_respondenta_full) %>% summarise(podil_ma_roverskou_roli = mean(ma_roverskou_roli, na.rm = TRUE))
hlavni_data %>% group_by(hlavni_data$role_skauting.rover_sam, kategorie_respondenta) %>% summarise(pocet = n())


podil_rover_sam <- mean(hlavni_data$role_skauting.rover_sam, na.rm = TRUE)


podil_roveru_sam_mezi_bez_spolecenstvi <- hlavni_data %>% filter(kategorie_respondenta == "nikdy_spolecenstvi") %>% summarise(podil = mean(role_skauting.rover_sam, na.rm = TRUE)) %>% pull(podil)


martinmodrak/revize-rs documentation built on March 9, 2021, 5:30 a.m.