Yan*_*ngJ 3 r text-mining sparse-matrix bigdata tm
使用R tm,我有一个术语doc矩阵:
文档术语矩阵(16977术语,29414文档)
非稀疏条目:355000/499006478稀疏度:100%最大术语长度:7加权:术语频率(tf)
为了进一步分析,我必须将术语数限制为2425.
如何通过在例如20以上的频率中包含freq来生成新的dtm?
由于矩阵很大,传统的方法as.matrix不能应用.
谢谢!
这样的东西可能有用...使用来自slam包的函数将DTM索引为一个简单的三元组矩阵,这将使您不必将其转换为密集矩阵.
library(slam)
library(tm)
data(crude)
dtm1 <- DocumentTermMatrix(crude)
# Find the total occurances of each word in all docs
colTotals <- col_sums(dtm1)
# keep only words that occur >20 times in all docs
dtm2 <- dtm1[,which(colTotals > 20)]
> dtm1
A document-term matrix (20 documents, 1266 terms)
Non-/sparse entries: 2255/23065
Sparsity : 91%
Maximal term length: 17
Weighting : term frequency (tf)
> dtm2
A document-term matrix (20 documents, 12 terms)
Non-/sparse entries: 174/66
Sparsity : 28%
Maximal term length: 6
Weighting : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)
这是否适用于您的数据并回答您的问题?