Main functions
rhymer
has 4 main functions that allow you to get data on related words through the Datamuse API.
They are:
get_rhyme()
- a function to get rhyming words.
get_means_like()
- a function to get words with similar meaning.
get_sounds_like()
- a function to get words that sound similar.
get_spelled_like()
- a function to get words that are spelled similarly.
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 2816 3
## 2 best 2526 1
## 3 request 2180 2
## 4 rest 2171 1
## 5 suggest 1867 2
## 6 quest 1730 1
## 7 attest 1663 2
## 8 crest 1618 1
## 9 lest 1543 1
## 10 contest 1511 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 2180 2
## 5 suggest 1867 2
## 7 attest 1663 2
## 10 contest 1511 2
## 13 behest 1375 2
## 16 arrest 1314 2
## 18 abreast 1231 2
## 19 protest 1158 2
## 20 invest 1154 2
## 22 divest 1147 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 2816 3
## 2 best 2526 1
## 3 request 2180 2
## 4 rest 2171 1
## 5 suggest 1867 2
## 6 quest 1730 1
## 7 attest 1663 2
## 8 crest 1618 1
## 9 lest 1543 1
## 10 contest 1511 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] "request"
# "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 2816 3
## 2 best 2526 1
## 3 request 2180 2
## 4 rest 2171 1
## 5 suggest 1867 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.
get_means_like("test")
## 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
).
get_spelled_like("test")
## word score
## 1 test 6663