R: Coercion and checking functions for dictionary objects

as.dictionary {quanteda} | R Documentation

## Coercion and checking functions for dictionary objects

### Description

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

### Usage

    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

    ## Not run:
    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)

    ## End(Not run)

    is.dictionary(dictionary(list(key1 = c("val1", "val2"), key2 = "val3")))
    # [1] TRUE
    is.dictionary(list(key1 = c("val1", "val2"), key2 = "val3"))
    # [1] FALSE

[Package quanteda version 3.0.0 Index]