A list of members of PACE, NAQT, and ACF was manually gathered from PACE, NAQT, and ACF websites on December 2, 2018. Former and emeritus members were not included. Gender was manually coded.
library(tidyverse)
## -- Attaching packages ---------------------------- tidyverse 1.2.1 --
## v ggplot2 3.0.0 v purrr 0.2.5
## v tibble 1.4.2 v dplyr 0.7.4
## v tidyr 0.8.1 v stringr 1.3.1
## v readr 1.1.1 v forcats 0.3.0
## Warning: package 'ggplot2' was built under R version 3.5.1
## -- Conflicts ------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 3.5.1
theme_set(theme_few())
data <- read_csv("quizbowl_org_gender_12.2.18.csv")
## Parsed with column specification:
## cols(
## name = col_character(),
## PACE = col_character(),
## ACF = col_character(),
## NAQT = col_character(),
## gender = col_character()
## )
# female prop by org
data_org <- data %>%
gather(org, member, PACE:NAQT) %>%
filter(member=="yes") %>%
count(org, gender) %>%
spread(gender, n) %>%
mutate(prop_female = female/(female+male))
# female prop overall
data_overall <- data %>%
count(gender) %>%
spread(gender, n) %>%
mutate(prop_female = female/(female+male), org="overall")
# female prop by org + overall
data_combined <- bind_rows(data_org, data_overall)
data_combined$org <- factor(data_combined$org,levels = c("PACE", "NAQT", "ACF", "overall"))
# bar graph of % female by org
ggplot(data_combined, aes(x = org, y = prop_female)) +
geom_bar(position = "dodge", stat = "identity") +
labs(title = "Gender representation in national quizbowl organization membership", x = "Organization", y = "Proportion female") +
ylim(0, 1) +
geom_hline(aes(yintercept = 0.5), linetype="dashed")