Substitute features based on vectorized one-to-one matching for lemmatization or user-defined stemming.

dfm_replace(x, pattern, replacement, case_insensitive = TRUE,
  verbose = quanteda_options("verbose"))

Arguments

x

dfm whose features will be replaced

pattern

a character vector. See pattern for more details.

replacement

if pattern is a character vector, then replacement must be character vector of equal length, for a 1:1 match.

case_insensitive

ignore case when matching, if TRUE

verbose

print status messages if TRUE

Examples

dfmat1 <- dfm(data_corpus_irishbudget2010) # lemmatization lis <- c("foci", "focus", "focused", "focuses", "focusing", "focussed", "focusses") lemma <- rep("focus", length(lis)) dfmat2 <- dfm_replace(dfmat1, pattern = lis, replacement = lemma) featnames(dfm_select(dfmat2, pattern = lis))
#> [1] "focus"
# stemming feat <- featnames(dfmat1) featstem <- char_wordstem(feat, "porter") dfmat3 <- dfm_replace(dfmat1, pattern = feat, replacement = featstem, case_insensitive = FALSE) identical(dfmat3, dfm_wordstem(dfmat1, "porter"))
#> [1] TRUE