| prioritize {r2dii.match} | R Documentation |
Pick rows where score is 1 and level per loan is of highest priority
Description
When multiple perfect matches are found per loan (e.g. a match at
direct_loantaker level and ultimate_parent level), we must prioritize the
desired match. By default, the highest priority is the most granular match
(i.e. direct_loantaker).
Usage
prioritize(data, priority = NULL)
Arguments
data |
A data frame like the validated output of |
priority |
One of:
|
Details
How to validate data
Write the output of match_name() into a .csv file with:
# Writting to current working directory
matched %>%
readr::write_csv("matched.csv")
Compare, edit, and save the data manually:
Open matched.csv with any spreadsheet editor (Excel, Google Sheets, etc.).
Compare the columns
nameandname_abcdmanually to determine if the match is valid. Other information can be used in conjunction with just the names to ensure the two entities match (sector, internal information on the company structure, etc.)Edit the data:
If you are happy with the match, set the
scorevalue to1.Otherwise set or leave the
scorevalue to anything other than1.
Save the edited file as, say, valid_matches.csv.
Re-read the edited file (validated) with:
# Reading from current working directory
valid_matches <- readr::read_csv("valid_matches.csv")
Value
A data frame with a single row per loan, where score is 1 and
priority level is highest.
Handling grouped data
This function ignores but preserves existing groups.
See Also
match_name(), prioritize_level().
Other main functions:
match_name()
Examples
library(dplyr)
# styler: off
matched <- tribble(
~sector, ~sector_abcd, ~score, ~id_loan, ~level,
"coal", "coal", 1, "aa", "ultimate_parent",
"coal", "coal", 1, "aa", "direct_loantaker",
"coal", "coal", 1, "bb", "intermediate_parent",
"coal", "coal", 1, "bb", "ultimate_parent",
)
# styler: on
prioritize_level(matched)
# Using default priority
prioritize(matched)
# Using the reverse of the default priority
prioritize(matched, priority = rev)
# Same
prioritize(matched, priority = ~ rev(.x))
# Using a custom priority
bad_idea <- c("intermediate_parent", "ultimate_parent", "direct_loantaker")
prioritize(matched, priority = bad_idea)