Learn R Programming

corpus (version 0.9.1)

text_locate: Searching for terms in text.

Description

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

Usage

text_locate(x, terms, filter = text_filter(x), random = FALSE)

text_count(x, terms, filter = text_filter(x))

text_detect(x, terms, filter = text_filter(x))

text_match(x, terms, filter = text_filter(x))

text_subset(x, terms, filter = text_filter(x))

Arguments

x

a text or character vector.

terms

a character vector of search terms.

filter

a text filter defining the token boundaries.

random

logical value indicating whether to return the matches in random order.

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 returns 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.

Details

text_locate finds all instances of the search terms in the input text, along with their contexts. When used with random = TRUE, the function returns the results in random order; this is useful for hand-inspecting a random sample of the matches.

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.

See Also

term_stats, term_frame.

Examples

Run this code
# NOT RUN {
    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_subset(text, "a rose")

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

Run the code above in your browser using DataLab