dfm_match: Match the feature set of a dfm to given feature names

Description Usage Arguments Details Value Note See Also Examples

Description

Match the feature set of a dfm to a specified vector of feature names. For existing features in x for which there is an exact match for an element of features, these will be included. Any features in x not features will be discarded, and any feature names specified in features but not found in x will be added with all zero counts.

Usage

1
dfm_match(x, features)

Arguments

x

a dfm

features

character; the feature names to be matched in the output dfm

Details

Selecting on another dfm's featnames is useful when you have trained a model on one dfm, and need to project this onto a test set whose features must be identical. It is also used in bootstrap_dfm.

Value

A dfm whose features are identical to those specified in features.

Note

Unlike dfm_select, this function will add feature names not already present in x. It also provides only fixed, case-sensitive matches. For more flexible feature selection, see dfm_select.

See Also

dfm_select

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# matching a dfm to a feature vector
dfm_match(dfm(""), letters[1:5])
dfm_match(data_dfm_lbgexample, c("A", "B", "Z"))
dfm_match(data_dfm_lbgexample, c("B", "newfeat1", "A", "newfeat2"))

# matching one dfm to another
txt <- c("This is text one", "The second text", "This is text three")
(dfmat1 <- dfm(txt[1:2]))
(dfmat2 <- dfm(txt[2:3]))
(dfmat3 <- dfm_match(dfmat1, featnames(dfmat2)))
setequal(featnames(dfmat2), featnames(dfmat3))

quanteda/quanteda documentation built on June 15, 2019, 8:36 a.m.