Convert a dictionary from a different format into a quanteda dictionary, or check to see if an object is a dictionary.

as.dictionary(x, format = c("tidytext"), separator = " ", tolower = FALSE)

is.dictionary(x)

Arguments

x

a dictionary-like object to be coerced or checked

format

input format for the object to be coerced to a dictionary; current legal values are a data.frame with the fields word and sentiment (as per the tidytext package)

separator

the character in between multi-word dictionary values. This defaults to " ".

tolower

if TRUE, convert all dictionary values to lowercase

Value

as.dictionary returns a quanteda dictionary object. This conversion function differs from the dictionary() constructor function in that it converts an existing object rather than creates one from components or from a file.

is.dictionary returns TRUE if an object is a quanteda dictionary.

Examples

if (FALSE) { data(sentiments, package = "tidytext") as.dictionary(subset(sentiments, lexicon == "nrc")) as.dictionary(subset(sentiments, lexicon == "bing")) # to convert AFINN into polarities - adjust thresholds if desired datafinn <- subset(sentiments, lexicon == "AFINN") datafinn[["sentiment"]] <- with(datafinn, sentiment <- ifelse(score < 0, "negative", ifelse(score > 0, "positive", "netural")) ) with(datafinn, table(score, sentiment)) as.dictionary(datafinn) dat <- data.frame( word = c("Great", "Horrible"), sentiment = c("positive", "negative") ) as.dictionary(dat) as.dictionary(dat, tolower = FALSE) } is.dictionary(dictionary(list(key1 = c("val1", "val2"), key2 = "val3")))
#> [1] TRUE
# [1] TRUE is.dictionary(list(key1 = c("val1", "val2"), key2 = "val3"))
#> [1] FALSE
# [1] FALSE