R 文本挖掘术语邻接矩阵
R Text Mining Term Adjacency Matrix
我使用 tm
包从我的语料库创建了一个文档术语矩阵。
dtm <- DocumentTermMatrix(myCorpus, control=list(wordLengths=c(4, 20),
bounds = list(global = c(1,13))))
然后我创建了一个术语-术语邻接矩阵。
ttm_results <- t(as.matrix(dtm)) %*% as.matrix(dtm)
当我检查结果样本时
ttm_results[200:205, 200:205]
我注意到这是一个非常大但稀疏的数据集。
如何删除 essentially zeros
的行?
我认为 essentially zero
包括像 1,2 和 5 这样没有 adjacent
术语的行。
这个怎么样
#rebuilding your matrix
m <- diag(6)
m[3, 3] = 71
m[4, 5] = 1
m[5, 4] = 1
m
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 0 0 0 0 0
[2,] 0 1 0 0 0 0
[3,] 0 0 71 0 0 0
[4,] 0 0 0 1 1 0
[5,] 0 0 0 1 1 0
[6,] 0 0 0 0 0 1
#answer
m[!rowSums(m)==1, ]
我使用 tm
包从我的语料库创建了一个文档术语矩阵。
dtm <- DocumentTermMatrix(myCorpus, control=list(wordLengths=c(4, 20),
bounds = list(global = c(1,13))))
然后我创建了一个术语-术语邻接矩阵。
ttm_results <- t(as.matrix(dtm)) %*% as.matrix(dtm)
当我检查结果样本时
ttm_results[200:205, 200:205]
我注意到这是一个非常大但稀疏的数据集。
如何删除 essentially zeros
的行?
我认为 essentially zero
包括像 1,2 和 5 这样没有 adjacent
术语的行。
这个怎么样
#rebuilding your matrix
m <- diag(6)
m[3, 3] = 71
m[4, 5] = 1
m[5, 4] = 1
m
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 0 0 0 0 0
[2,] 0 1 0 0 0 0
[3,] 0 0 71 0 0 0
[4,] 0 0 0 1 1 0
[5,] 0 0 0 1 1 0
[6,] 0 0 0 0 0 1
#answer
m[!rowSums(m)==1, ]