Sample names:

rawnames <- c("E. G. McGirr", "E. G. MacGirr", "Ellen Thompson", "Elen Thomson",
              "John Doe")

String distance matrix:

library("stringdist")
m <- stringdistmatrix(rawnames, rawnames)
rownames(m) <- rawnames
colnames(m) <- rawnames
m[!upper.tri(m)] <- NA
m
##                E. G. McGirr E. G. MacGirr Ellen Thompson Elen Thomson
## E. G. McGirr             NA             1             12           11
## E. G. MacGirr            NA            NA             12           11
## Ellen Thompson           NA            NA             NA            2
## Elen Thomson             NA            NA             NA           NA
## John Doe                 NA            NA             NA           NA
##                John Doe
## E. G. McGirr         11
## E. G. MacGirr        12
## Ellen Thompson       11
## Elen Thomson          9
## John Doe             NA

Potential matches:

m < 3
##                E. G. McGirr E. G. MacGirr Ellen Thompson Elen Thomson
## E. G. McGirr             NA          TRUE          FALSE        FALSE
## E. G. MacGirr            NA            NA          FALSE        FALSE
## Ellen Thompson           NA            NA             NA         TRUE
## Elen Thomson             NA            NA             NA           NA
## John Doe                 NA            NA             NA           NA
##                John Doe
## E. G. McGirr      FALSE
## E. G. MacGirr     FALSE
## Ellen Thompson    FALSE
## Elen Thomson      FALSE
## John Doe             NA