process_report_list <- function(report_list_raw, report_amended_score) { # select the correct report_id to use for each report group report_keep <- report_amended_score |> group_by(sboe_id, year, doc_name) |> slice_max(amended_score) |> # follow up to be certain there's only one report per group slice_max(report_id) report_keep_count <- report_keep |> count() if (any(report_keep_count$n > 1)) { stop("Have not successfully selected a single report per committee and report group.") } report_keep <- report_keep |> ungroup() |> select(report_id, matches("received|date")) report_list_raw |> select(-matches("received|date")) |> right_join(report_keep, by = "report_id") |> select(-committee_name, -doc_type, -tar_group, image_id = img_link) |> mutate( across(doc_name, as_report_factor), image_id = sub(".+?(\\d+)$", "\\1", image_id) ) }