text_locate {corpus} | R Documentation

## Searching for Terms

### Description

Look for instances of one or more terms in a set of texts.

### Usage

    text_locate(x, terms, filter = NULL, ...)

    text_count(x, terms, filter = NULL, ...)

    text_detect(x, terms, filter = NULL, ...)

    text_match(x, terms, filter = NULL, ...)

    text_sample(x, terms, size = NULL, filter = NULL, ...)

    text_subset(x, terms, filter = NULL, ...)

### Arguments

`x` | a text or character vector.
`terms` | a character vector of search terms.
`filter` | if non-`NULL`, a text filter to to use instead of the default text filter for `x`.
`size` | the maximum number of results to return, or `NULL`.
`...` | additional properties to set on the text filter.

### Details

`text_locate` finds all instances of the search terms in the input text, along with their contexts.

`text_count` counts the number of search term instances in each element of the text vector.

`text_detect` indicates whether each text contains at least one of the search terms.

`text_match` reports the matching instances as a factor variable with levels equal to the `terms` argument.

`text_subset` returns the texts that contain the search terms.

`text_sample` returns a random sample of the results from `text_locate`, in random order. This is this is useful for hand-inspecting a subset of the `text_locate` matches.

### Value

`text_count` and `text_detect` return a numeric vector and a logical vector, respectively, with length equal to the number of input texts and names equal to the text names.

`text_locate` and `text_sample` both return a data frame with one row for each search result and columns named ‘text’, ‘before’, ‘instance’, and ‘after’. The ‘text’ column gives the name of the text containing the instance; ‘before’ and ‘after’ are text vectors giving the text before and after the instance. The ‘instance’ column gives the token or tokens matching the search term.

`text_match` returns a data frame for one row for each search result, with columns names ‘text’ and ‘term’. Both columns are factors. The ‘text’ column has levels equal to the text labels, and the ‘term’ column has levels equal to `terms` argument.

`text_subset` returns the subset of texts that contain the given search terms. The resulting has its `text_filter` set to the passed-in `filter` argument.

### See Also

`term_stats`, `term_matrix`.

### Examples

    text <- c("Rose is a rose is a rose is a rose.",
              "A rose by any other name would smell as sweet.",
              "Snow White and Rose Red")

    text_count(text, "rose")
    text_detect(text, "rose")
    text_locate(text, "rose")
    text_match(text, "rose")
    text_sample(text, "rose", 3)
    text_subset(text, "a rose")

    # search for multiple terms
    text_locate(text, c("rose", "rose red", "snow white"))

[Package corpus version 0.10.0 Index]