Quanteda: матрица возможностей документа с предопределенным набором функций

Я использую Quanteda для создания двух матриц функций документа:

library(quanteda)
DFM1 <- dfm("this is a rock")
#        features
# docs    this is a rock
#   text1    1  1 1    1
DFM2 <- dfm("this is music")
#        features
# docs    this is music
#   text1    1  1     1

Тем не менее, я хочу, чтобы DFM2 имел определенный набор функций, а именно те из DFM1:

DFM2 <- dfm("this is music", *magicargument* = featnames(DFM1))
#        features
# docs    this is a rock
#   text1    1  1 0    0

Есть ли магический аргумент, который мне не хватает? Или есть другой эффективный способ архивировать это для больших сумок слов?

1 ответ

Решение

Волшебный аргумент patternгде вы предоставляете dfm, функции которого будут сопоставлены (включая нули для объектов, не входящих в целевой dfm):

dfm_select(DFM2, pattern = DFM1)
# Document-feature matrix of: 1 document, 4 features (50% sparse).
# 1 x 4 sparse Matrix of class "dfmSparse"
#        features
# docs    this is a rock
#   text1    1  1 0    0
Другие вопросы по тегам