addrlink | R Documentation |
Takes two data.frames with address data and merges them together.
addrlink(df_ref, df_match,
col_ref = c("Strasse", "Hausnummer", "Hausnummernzusatz"),
col_match = c("Strasse", "Hausnummer", "Hausnummernzusatz"),
fuzzy_threshold = 0.9, seed = 1234)
df_ref |
data.frame with address references |
df_match |
data.frame with addresses to be matched |
col_ref |
character vector of length three, naming the df_ref columns which contain the steet names, house numbers and additional letters (in that order) |
col_match |
character vector of length three, naming the df_match columns which contain the steet names, house numbers and additional letters (in that order) |
fuzzy_threshold |
The threshold used for fuzzy matching street names |
seed |
Seed for random numbers |
The matching is done in four stages.
Stage 1 (qAdress = 1). This is an exact match (highest quality, qscore = 1)
Stage 2 (qAdress = 2). Exact match on street name, but no valid house
number could be found. Be aware that random house numbers might be used.
Consider setting your own seed. qscore indicates the match quality.
See match_number
for details.
Stage 3 (qAdress = 3). No exact match on street name could be found. Street names are fuzzy matched. The method "jw" (Jaro-Winkler distance) from package stringdist is used (see stringdist-metrics). If 1 - [Jaro-Winkler distance] is greater than fuzzy_threshold, a match is assumed. The highest score is taken and house number matching is done as outlined in Stage 2. qscore is fuzzy_score*[house number score].
Stage 4 (qAdress = 4). No match (qscore = 0)
A list
ret |
The merged dataset |
QA |
The quality markers (qAdress and qscore) |
Daniel Schürmann
split_address
, split_number
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.