
For a text or a collection of texts (in a quanteda corpus object), return a list of a keyword supplied by the user in its immediate context, identifying the source text and the word index number within the source text. (Not the line number, since the text may or may not be segmented using end-of-line delimiters.)
kwic(
x,
pattern,
window = 5,
valuetype = c("glob", "regex", "fixed"),
separator = " ",
case_insensitive = TRUE,
...
)is.kwic(x)
a character vector, list of character vectors, dictionary, or collocations object. See pattern for details.
the number of context words to be displayed around the keyword.
the type of pattern matching: "glob"
for
"glob"-style wildcard expressions; "regex"
for regular expressions;
or "fixed"
for exact matching. See valuetype for details.
character to separate words in the output
match without respect to case if TRUE
additional arguments passed to tokens, for applicable object types
A kwic
classed data.frame, with the document name
(docname
), the token index positions (from
and to
,
which will be the same for single-word patterns, or a sequence equal in
length to the number of elements for multi-word phrases), the context
before (pre
), the keyword in its original format (keyword
,
preserving case and attached punctuation), and the context after
(post
). The return object has its own print
method, plus
some special attributes that are hidden in the print view. If you want to
turn this into a simple data.frame, simply wrap the result in
data.frame
.
# NOT RUN {
head(kwic(data_corpus_inaugural, pattern = "secure*", window = 3, valuetype = "glob"))
head(kwic(data_corpus_inaugural, pattern = "secur", window = 3, valuetype = "regex"))
head(kwic(data_corpus_inaugural, pattern = "security", window = 3, valuetype = "fixed"))
toks <- tokens(data_corpus_inaugural)
kwic(data_corpus_inaugural, pattern = phrase("war against"))
kwic(data_corpus_inaugural, pattern = phrase("war against"), valuetype = "regex")
kw <- kwic(data_corpus_inaugural, "provident*")
is.kwic(kw)
is.kwic("Not a kwic")
is.kwic(kw[, c("pre", "post")])
# }
Run the code above in your browser using DataLab