Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 子集文档术语矩阵_R_Tm - Fatal编程技术网

R 子集文档术语矩阵

R 子集文档术语矩阵,r,tm,R,Tm,我创建了一个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

我创建了一个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”列表检查矩阵中的行名称,但我无法对它们进行子集

您可以使用单词向量进行子集。您没有包含一个,因此我将使用
?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
library(tm)
数据(“原油”)

tdm如果我试一下你问题中不太清楚的词。我已经更新了答案,将单词列表子集为矩阵中的那些单词。抱歉,但是修改后的答案效果很好,谢谢
words <- c("world","zero", "xyyzy")
inspect(tdm[words[words %in% Terms(tdm)], 1:3])