Fuzzy string matching implementation of the 'fuzzywuzzy' < https://github.com/seatgeek/fuzzywuzzy> 'python' package. It uses the Levenshtein Distance < https://en.wikipedia.org/wiki/Levenshtein_distance> to calculate the differences between sequences.
The fuzzywuzzyR package is a fuzzy string matching implemenation of the fuzzywuzzy python package. It uses the Levenshtein Distance to calculate the differences between sequences. More details on the functionality of fuzzywuzzyR can be found in the package Vignette.
Python (>= 2.4)
fuzzywuzzy ( >=0.15.0 )
python-Levenshtein ( >=0.12.0, optional, provides a 4-10x speedup in String Matching, though may result in differing results for certain cases)
Before the installation of any python modules one should check the python-configuration using :
All modules should be installed in the default python configuration (the configuration that the R-session displays as default), otherwise errors will occur during package installation.
sudo apt-get install python-pipsudo pip install --upgrade pippip install fuzzywuzzypip install python-Levenshtein
sudo apt-get install python3-pipsudo pip3 install --upgrade pippip3 install fuzzywuzzypip3 install python-Levenshtein
sudo easy_install pipsudo pip install fuzzywuzzysudo pip install python-Levenshtein
pip install fuzzywuzzypip install python-Levenshtein
To install the package from CRAN use,
and to download the latest version from Github use the install_github function of the devtools package,
devtools::install_github(repo = 'mlampros/fuzzywuzzyR')
I added an exception in the additional tests, to avoid Solaris OS throw an error if python is not available
I added the decoding parameter to the following classes : FuzzExtract, FuzzMatcher and FuzzUtils. The decoding parameter does not apply to the GetCloseMatches and SequenceMatcher classes, because there isn't any force_ascii parameter in the difflib python library. The decoding parameter applies only to python 2 configurations, as in python 3 character strings are decoded to unicode by default. For reference, see the following github issue : https://github.com/mlampros/fuzzywuzzyR/issues/3
I added links to the github repository (master repository, issues).