我有一个关于 R 中 k-means 聚类的问题。实际上我正在根据这篇文章做所有事情。一切都基于 tm 包中的示例,因此不需要导入数据。acq 包含 50 个文档和粗略的 20 个文档。
library(tm)
data("acq")
data("crude")
ws <- c(acq, crude)
wsTDM <- Data(TermDocumentMatrix(ws)) #First problem here
wsKMeans <- kmeans(wsTDM, 2)
wsReutersCluster <- c(rep("acq", 50), rep("crude", 20))
cl_agreement(wsKMeans, as.cl_partition(wsReutersCluster), "diag")
Error in lapply(X, FUN, ...) :
(list) object cannot be coerced to type 'integer'
我实际上想创建交叉协议矩阵。但是这篇文章是在 2008 年写的,从那以后发生了很多变化。Data 功能仅在 RSurvey 包中可用,但我有点怀疑它是否相同。我认为主要问题是 TermDocumentMatrix 是 S4 类,现在是 S3。我知道这样做可能只有文字。但我想这样做,因为在 TDM 中,可以删除停用词、punct 等以获得更好的结果。因此,如果有人有任何很棒的解决方案。