我创建了一个类似于这样的TermDocumentMatrix:
>inspect(tdm[1:6,1:3])
Terms Doc1.txt Doc2.txt Doc3.txt
abcd 1 0 0
abandon 0 1 1
qrd 0 0 1
abductor 1 0 0
plo 1 1 0
man 0 1 0
我还有一个单词列表:
>dict
abductor
abandon
man
mammoth
现在我如何对TermDocumentMatrix行进行子集化,使其看起来像
Terms Doc1.txt Doc2.txt Doc3.txt
abandon 0 1 1
abductor 1 0 0
我只能使用'dict'列表检查矩阵中的行名称,但我无法将它们分组
答案 0 :(得分:2)
您可以使用单词向量进行子集化。您没有添加reproducible example,因此我只使用?TermDocumentMatrix
帮助页面中的那个。
library(tm)
data("crude")
tdm <- TermDocumentMatrix(crude,
control = list(removePunctuation = TRUE,
stopwords = TRUE))
words<-c("world","zero")
inspect(tdm[words, 1:3])
# <<TermDocumentMatrix (terms: 2, documents: 3)>>
# Non-/sparse entries: 1/5
# Sparsity : 83%
# Maximal term length: 5
# Weighting : term frequency (tf)
#
# Docs
# Terms 127 144 191
# world 0 1 0
# zero 0 0 0
如果您不知道矩阵中出现哪个单词,可以使用
words <- c("world","zero", "xyyzy")
inspect(tdm[words[words %in% Terms(tdm)], 1:3])