如何将doc-term矩阵转换为term-term矩阵?

时间:2012-07-21 05:11:04

标签: r matrix transformation tm

dtm <- DocumentTermMatrix(reuters, control=list(wordLengths=c(1,Inf)))

我正在考虑将dtm转换为术语矩阵,下面的内容不正确:

dtm <- dtm %*% t(dtm)

怎么可能呢?

3 个答案:

答案 0 :(得分:2)

如果我正确理解文档术语矩阵的结构,则为t(dtm) %*% dtm。请参阅this answer

答案 1 :(得分:0)

我相信下面的方法可行(注意你正在创建布尔或者可能和邻接矩阵):

t(as.matrix(dtm)) %*% as.matrix(dtm)

对于大dtm,你将使用as.matrix反弹到R的限制。 Matrix包可以提供帮助。注意我切换ij以在第一个矩阵中进行转置。

data("acq")
dtm <- DocumentTermMatrix(acq, control=list(wordLengths=c(1,Inf)))
tdm <- t(dtm)

library(Matrix)
Xt <- sparseMatrix(j=dtm$i, i=dtm$j, x=dtm$v)
X <- sparseMatrix(j=tdm$i, i=tdm$j, x=tdm$v)

Xt %*% X

# For easier viewing
(Xt %*% X) [1:20, 1:20]

答案 2 :(得分:0)

- (void)classMethodA:(BOOL)aBool context:(id)context;
- (void)aPrivateMethod:(id)context;