R:对文档进行聚类
我有一个DocumentTerm矩阵,如下所示:R:对文档进行聚类,r,matrix,cluster-analysis,hamming-distance,term-document-matrix,R,Matrix,Cluster Analysis,Hamming Distance,Term Document Matrix,我有一个DocumentTerm矩阵,如下所示: artikel naam product personeel loon verlof doc 1 1 1 2 1 0 0 doc 2 1 1 1 0 0 0 doc 3 0 0 1 1 2 1 doc 4 0
artikel naam product personeel loon verlof
doc 1 1 1 2 1 0 0
doc 2 1 1 1 0 0 0
doc 3 0 0 1 1 2 1
doc 4 0 0 0 1 1 1
在tm包中,可以计算两个文档之间的汉明距离。但是现在我想对所有汉明距离小于3的文档进行聚类。
所以这里我希望集群1是文档1和文档2,集群2是文档3和文档4。有可能这样做吗?我已将您的表保存到myData:
然后使用e1071库中的hamming.distance函数。您可以使用自己的距离,只要它们是矩阵形式
lilbrary(e1071)
distMat <- hamming.distance(myData)
查看每个文档的集群成员资格的另一种方法是使用表:
因此,文档1和文档2分为一组,而文档3和文档4分为另一组。如果包含一个可复制的示例,这个问题将更容易回答,对其他人也更有用。看到和
lilbrary(e1071)
distMat <- hamming.distance(myData)
dendrogram <- hclust(as.dist(distMat), method="complete")
groups <- cutree(dendrogram, h=5)
plot(dendrogram) # main plot
points(c(-100, 100), c(5,5), col="red", type="l", lty=2) # add cutting line
rect.hclust(dendrogram, h=5, border=c(1:length(unique(groups)))+1) # draw rectangles
table(groups, rownames(myData))
groups doc1 doc2 doc3 doc4
1 1 1 0 0
2 0 0 1 1