Women scientists and timelines

AE 05

Setup

library(tidyverse)
library(popthemes) # pak::pak("johnmackintosh/popthemes")

Data

Read:

professions <- read_csv("data/scientists/professions.csv")
dates <- read_csv("data/scientists/dates.csv")
works <- read_csv("data/scientists/works.csv")

Join:

scientists <- professions |>
  left_join(dates, by = join_by(name)) |>
  left_join(works, by = join_by(name))

scientists
# A tibble: 10 × 5
   name               profession                 birth_year death_year known_for
   <chr>              <chr>                           <dbl>      <dbl> <chr>    
 1 Ada Lovelace       Mathematician                      NA         NA first co…
 2 Marie Curie        Physicist and Chemist              NA         NA theory o…
 3 Janaki Ammal       Botanist                         1897       1984 hybrid s…
 4 Chien-Shiung Wu    Physicist                        1912       1997 experime…
 5 Katherine Johnson  Mathematician                    1918       2020 orbital …
 6 Rosalind Franklin  Chemist                          1920       1958 <NA>     
 7 Vera Rubin         Astronomer                       1928       2016 existenc…
 8 Gladys West        Mathematician                    1930       2026 mathemat…
 9 Flossie Wong-Staal Virologist and Molecular …       1947       2020 first to…
10 Jennifer Doudna    Biochemist                       1964         NA one of t…

Fill in the blanks and reshape:

scientists_longer <- scientists |>
  mutate(
    birth_year = case_when(
      name == "Ada Lovelace" ~ 1815,
      name == "Marie Curie" ~ 1867,
      TRUE ~ birth_year
    ),
    death_year = case_when(
      name == "Ada Lovelace" ~ 1852,
      name == "Marie Curie" ~ 1934,
      TRUE ~ death_year
    ),
    status = if_else(is.na(death_year), "alive", "deceased"),
    death_year = if_else(is.na(death_year), 2027, death_year),
    known_for = if_else(
      name == "Rosalind Franklin",
      "understanding of the molecular structures of DNA ",
      known_for
    )
  ) |>
  pivot_longer(
    cols = contains("year"),
    names_to = "year_type",
    values_to = "year"
  ) |>
  mutate(death_year_fake = if_else(year == 2027, TRUE, FALSE))

scientists_longer
# A tibble: 20 × 7
   name              profession known_for status year_type  year death_year_fake
   <chr>             <chr>      <chr>     <chr>  <chr>     <dbl> <lgl>          
 1 Ada Lovelace      Mathemati… "first c… decea… birth_ye…  1815 FALSE          
 2 Ada Lovelace      Mathemati… "first c… decea… death_ye…  1852 FALSE          
 3 Marie Curie       Physicist… "theory … decea… birth_ye…  1867 FALSE          
 4 Marie Curie       Physicist… "theory … decea… death_ye…  1934 FALSE          
 5 Janaki Ammal      Botanist   "hybrid … decea… birth_ye…  1897 FALSE          
 6 Janaki Ammal      Botanist   "hybrid … decea… death_ye…  1984 FALSE          
 7 Chien-Shiung Wu   Physicist  "experim… decea… birth_ye…  1912 FALSE          
 8 Chien-Shiung Wu   Physicist  "experim… decea… death_ye…  1997 FALSE          
 9 Katherine Johnson Mathemati… "orbital… decea… birth_ye…  1918 FALSE          
10 Katherine Johnson Mathemati… "orbital… decea… death_ye…  2020 FALSE          
11 Rosalind Franklin Chemist    "underst… decea… birth_ye…  1920 FALSE          
12 Rosalind Franklin Chemist    "underst… decea… death_ye…  1958 FALSE          
13 Vera Rubin        Astronomer "existen… decea… birth_ye…  1928 FALSE          
14 Vera Rubin        Astronomer "existen… decea… death_ye…  2016 FALSE          
15 Gladys West       Mathemati… "mathema… decea… birth_ye…  1930 FALSE          
16 Gladys West       Mathemati… "mathema… decea… death_ye…  2026 FALSE          
17 Flossie Wong-Sta… Virologis… "first t… decea… birth_ye…  1947 FALSE          
18 Flossie Wong-Sta… Virologis… "first t… decea… death_ye…  2020 FALSE          
19 Jennifer Doudna   Biochemist "one of … alive  birth_ye…  1964 FALSE          
20 Jennifer Doudna   Biochemist "one of … alive  death_ye…  2027 TRUE           

Plot