Sorry, this slipped my mind yesterday.
Here are two plotting methods to make individual plots for females and males. The first uses the base plotting package and the second uses ggplot. I spent no time polishing the appearance of the plots.
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
DF <- read.csv("~/R/Play/resume.csv")
Summary <- DF |> group_by(gender, race) |>
summarize(Frac = mean(received_callback))
#> `summarise()` has grouped output by 'gender'. You can override using the `.groups` argument.
Summary
#> # A tibble: 4 x 3
#> # Groups: gender [2]
#> gender race Frac
#> <chr> <chr> <dbl>
#> 1 f black 0.0663
#> 2 f white 0.0989
#> 3 m black 0.0583
#> 4 m white 0.0887
Summary$race <- factor(Summary$race)
#using the base plotting method
par(mfrow = c(1, 2))
tmp <- subset(Summary, gender == "f")
plot.default(x=tmp$race, y=tmp$Frac, ylab="callback",xaxt = "n",
xlab= "race", type = "b", main = "Female")
axis(side = 1, at = c(1,2), labels = tmp$race)
tmp <- subset(Summary, gender == "m")
plot.default(x=tmp$race, y=tmp$Frac, ylab="callback",xaxt = "n",
xlab= "race", type = "b", main = "Male")
axis(side = 1, at = c(1,2), labels = tmp$race)
#Using ggplot
library(ggplot2)

ggplot(data = Summary, aes(race, Frac, group = 1)) +
geom_point() + geom_line() +
facet_wrap(~gender,
labeller = labeller(gender = c("f" = "Female", "m" = "Male")))

Created on 2021-12-07 by the reprex package (v2.0.1)