text_locate {corpus}R Documentation

Searching for Terms


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


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, ...)



a text or character vector.


a character vector of search terms.


if non-NULL, a text filter to to use instead of the default text filter for x.


the maximum number of results to return, or NULL.


additional properties to set on the text filter.


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.


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.


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.2 Index]