Welcome to rhymer, an R package for getting rhyming and other related words through the Datamuse API. I highly recommend reading through the Datamuse API website before getting started.

Main functions

rhymer has 4 main functions that allow you to get data on related words through the Datamuse API.

They are:

There is also a more flexible function get_other_related() that allows you to use the API to get data on other related words using a series of ‘codes’ described on the Datamuse API website.

Each function is default limited to return a maximum of 10 results, but can return more. Functions also default to return a dataframe with a row for each word, and an associated score. Different functions will return slightly different additional columns if returning a dataframe.

library(rhymer)

get_rhyme()

This function was the initial inspiration behind this package. It makes the work of finding rhyming words easy. In the background, it is referencing the CMU Pronouncing Dictionary. At it’s simplest, you can pass in a word and get_rhyme() will return a dataframe of rhyming words. For example:

get_rhyme("test")
##        word score numSyllables
## 1  manifest  2832            3
## 2      best  2538            1
## 3   request  2199            2
## 4      rest  2176            1
## 5   suggest  1879            2
## 6     quest  1738            1
## 7    attest  1671            2
## 8     crest  1626            1
## 9      lest  1551            1
## 10  contest  1519            2

The function has some additional arguments that you can use to specify the rhyme.

You can specify the number of syllables returned using num_syl:

get_rhyme("test", num_syl = 2)
##       word score numSyllables
## 3  request  2199            2
## 5  suggest  1879            2
## 7   attest  1671            2
## 10 contest  1519            2
## 13  behest  1387            2
## 16  arrest  1317            2
## 18 abreast  1232            2
## 19 protest  1162            2
## 21  invest  1155            2
## 22  divest  1150            2

You can specify the type of data returned using return_type:

# "df" returns a single dataframe (which is the default behavior).
get_rhyme("test", return_type = "df")
##        word score numSyllables
## 1  manifest  2832            3
## 2      best  2538            1
## 3   request  2199            2
## 4      rest  2176            1
## 5   suggest  1879            2
## 6     quest  1738            1
## 7    attest  1671            2
## 8     crest  1626            1
## 9      lest  1551            1
## 10  contest  1519            2
# "word" returns the type rhyme in the form of a single word vector.
get_rhyme("test", return_type = "word")
## [1] "manifest"
# "random_word" or "rand" returns a single, random word.
get_rhyme("test", return_type = "random_word")
## [1] "lest"
# "vector" returns a vector of words.
get_rhyme("test", return_type = "vector")
##  [1] "manifest" "best"     "request"  "rest"     "suggest"  "quest"   
##  [7] "attest"   "crest"    "lest"     "contest"

You can also specify the number of words returned (defaults to 10 so as to not kill the API) using limit:

get_rhyme("test", limit = 5)
##       word score numSyllables
## 1 manifest  2832            3
## 2     best  2538            1
## 3  request  2199            2
## 4     rest  2176            1
## 5  suggest  1879            2

get_means_like()

In the background, this function works by referencing WordNet and other online dictionaries. It has the same arguments as get_rhyme() for limiting the number of results (limit) and for what data structure to return (return_type). It also returns additional information about the part of speech returned.

##            word score     tags
## 1          exam 43232   syn, n
## 2   examination 39586   syn, n
## 3          quiz 38031   syn, n
## 4  experimental 37252 syn, adj
## 5         prove 36990   syn, v
## 6         assay 36775   syn, n
## 7         check 36523   syn, n
## 8         trial 35949   syn, n
## 9         pilot 34163   syn, n
## 10      examine 34091   syn, v

get_sounds_like()

In the background, this function works by referencing referencing the CMU Pronouncing Dictionary. It has the same arguments as get_rhyme() for limiting the number of results (limit), for what data structure to return (return_type), and for the number of syllables to limit to (num_syl).

get_sounds_like("test", num_syl = 2)
##      word score numSyllables
## 19 attest    90            2
## 20  testy    90            2
## 21 tester    90            2
## 22  tessa    90            2
## 24 testes    90            2
## 28  testa    90            2
## 31 tessie    90            2
## 32 testee    90            2
## 33  testi    90            2
## 34   tesa    90            2

get_spelled_like()

This function has the same arguments as get_rhyme() for limiting the number of results (limit) and for what data structure to return (return_type).

##   word score
## 1 test  6685