dtm <- DocumentTermMatrix(reuters, control=list(wordLengths=c(1,Inf)))
我想轉成DTM期限長期矩陣的,有什麼下面是不正確的:如何將doc-term矩陣轉換爲term-term矩陣?
dtm <- dtm %*% t(dtm)
怎麼可能做到呢?
dtm <- DocumentTermMatrix(reuters, control=list(wordLengths=c(1,Inf)))
我想轉成DTM期限長期矩陣的,有什麼下面是不正確的:如何將doc-term矩陣轉換爲term-term矩陣?
dtm <- dtm %*% t(dtm)
怎麼可能做到呢?
如果我正確理解文檔項矩陣的結構,它是t(dtm) %*% dtm
。見this answer。
我認爲這種方式如下將工作(注意:您要創建布爾或許和鄰接矩陣):
t(as.matrix(dtm)) %*% as.matrix(dtm)
對於大DTM你會反彈到使用as.matrix
的r限制。 Matrix
包可以提供幫助。注我切換i
和j
在第一個矩陣中進行轉置。
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]
TDM <- TermDocumentMatrix(x) # Form a Term document matrix
termDocMatrix <- as.matrix(TDM) # convert your TDM into a matrix
termDocMatrix[termDocMatrix>=1] <- 1 # change the TDM into Boolean matrix
# term adjacency matrix
termMatrix <- termDocMatrix %*% t(termDocMatrix)
termMatrix[1:10,1:10] # inspect terms numbered 1 to 10
嗨,歡迎來到stackoverflow。請更多地描述答案。當您在答案中有鏈接時,頁面可能會被刪除,您的答案將來對其他人無用 – 2016-08-27 17:38:27
你檢查出這個問題的答案[問題](http://stackoverflow.com/q/7380133/1086688)? – nograpes 2012-07-21 12:23:14