| #+ setup | |||||
| library(tidyverse) | |||||
| library(fs) | |||||
| load_all(here::here("process")) | |||||
| #+ candidates | |||||
| john_bell <- "STA-8S285O-C-001" | |||||
| dan_forest <- "STA-M4HR0Y-C-001" | |||||
| mitch_setzer <- "STA-C1877N-C-001" | |||||
| #+ load-data | |||||
| cf <- cf_db_create() | |||||
| cf_dm <- dm::dm(!!!cf) | |||||
| cf_dm <- dm::dm_add_pk(cf_dm, "report_list", c("sboe_id", "report_id")) | |||||
| ## Report List vs Cover ---- | |||||
| #+ basic-validation | |||||
| cf$report_list |> count() | |||||
| cf$cover |> count() | |||||
| ## When de-duplicated there should be no more reports in "cover" than in "report_list" | |||||
| cf$report_list |> distinct(report_id, sboe_id) |> count() | |||||
| cf$cover |> distinct(report_id, sboe_id) |> count() | |||||
| # duplicated sboe/report ids | |||||
| duplicated <- | |||||
| cf$cover |> | |||||
| semi_join( | |||||
| cf$cover |> count(sboe_id, report_id) |> filter(n > 1), | |||||
| by = c("sboe_id", "report_id") | |||||
| ) | |||||
| # are all of the duplicated rows full duplicates? yes, both are the same. | |||||
| # => I'm going to go back and call `distinct()` when adding the file | |||||
| duplicated |> distinct(sboe_id, report_id) |> count() | |||||
| duplicated |> distinct() |> count() | |||||
| # The filed date is missing from some listed reports | |||||
| # => I'm going to leave this alone | |||||
| cf$report_list |> filter(is.na(received)) | |||||
| # How many reports are missing from cover? | |||||
| cf$report_list |> | |||||
| anti_join(cf$cover, by = c("report_id", "sboe_id")) |> | |||||
| collect() |> | |||||
| arrange(sboe_id, year, report_id) |> | |||||
| select(1:5, received) |> | |||||
| mutate(path = glue::glue("../../data-raw/reports/{sboe_id}/all/{report_id}_{received}.txt")) | |||||
| #> * `../../data-raw/reports/STA-C3372N-C-001/all/174237_2020-04-01.txt`: missing cover | |||||
| #> * `../../data-raw/reports/STA-C4270N-C-001/all/169030_2019-08-15.txt`: missing cover | |||||
| #> * `../../data-raw/reports/STA-MW53OC-C-001/all/194017_2022-01-28.txt`: missing cover | |||||
| #> * `../../data-raw/reports/FED-JUU72L-C-001/all/201413_2021-07-27.txt`: no records | |||||
| #> * `../../data-raw/reports/STA-H3F77S-C-002/all/201481_2021-12-29.txt`: no records | |||||
| #> * `../../data-raw/reports/STA-O079OC-C-001/all/200919_2021-07-17.txt`: no records | |||||
| #> * `../../data-raw/reports/STA-XD82JF-C-001/all/210255_2022-10-24.txt`: no records | |||||
| # TODO: Identify reports that are missing a cover entry... |