title: I would like to match two datasets based on arbitrary address fields relative to each other using R
body: <p>the first dataset df1</p>
  <pre><code>structure(list(ID = 1:8, Address = c(&quot;Canal and Broadway&quot;, &quot;55 water street room number 73&quot;, 
  &quot;Mulberry street&quot;, &quot;Front street and Fulton&quot;, &quot;62nd street &quot;, 
  &quot;wythe street&quot;, &quot;vanderbilt avenue&quot;, &quot;South Beach avenue&quot;)), class = &quot;data.frame&quot;, row.names = c(NA, 
  -8L))
  </code></pre>
  <p>the second dataset df2</p>
  <pre><code>structure(list(ID2 = 1:8, Address = c(&quot;Canal &amp; Broadway&quot;, &quot;Somewhere around 55 water street&quot;, 
  &quot;Mulberry street&quot;, &quot;Front street and close to Fulton&quot;, &quot;south beach avenue&quot;, 
  &quot;along wythe street on the southwest &quot;, &quot;vanderbilt ave&quot;, &quot;62nd street&quot;
  )), class = &quot;data.frame&quot;, row.names = c(NA, -8L))
  </code></pre>
  <p>df1</p>
  <pre><code>ID|Address
  1   Canal and Broadway
  2   55 water street room number 73
  3   Mulberry street
  4   Front street and Fulton
  5   62nd street 
  6   wythe street
  7   vanderbilt avenue
  8   South Beach avenue
  </code></pre>
  <p>df2</p>
  <pre><code>ID2|Address
   1  Canal &amp; Broadway
   2  Somewhere around 55 water street
   3  Mulberry street
   4  Front street and close to Fulton
   5  south beach avenue
   6  along wythe street on the southwest 
   7  vanderbilt ave
   8  62nd street
  </code></pre>
  <p>Is there a way to match and get this outcome. Note that the addresses are similar but not exact.</p>
  <pre><code>    ID|                    Address| ID2
  1   Canal and Broadway               1
  2   55 water street room number 73   2
  3   Mulberry street                  3
  4   Front street and Fulton          4
  5   62nd street                      8
  6   wythe street                     6
  7   vanderbilt avenue                7
  8   South Beach avenue               5
  </code></pre>