我一直试图复制示例here:但我一路上遇到了一些问题。
在此之前一切正常:
docsTDM <- TermDocumentMatrix(docs8)
UseMethod(“meta”,x)中的错误: 没有适用于'meta'的方法适用于类“字符”的对象
另外:警告信息:
在mclapply(unname(content(x)),termFreq,control):
所有计划的核心在用户代码中遇到错误
所以我能够修改这个错误,通过改变这个来修改上一步:
docs8 <- tm_map(docs7, tolower)
对此:
docs8 <- tm_map(docs7, content_transformer(tolower))
然后我又遇到了麻烦:
docsdissim <- dissimilarity(docsTDM, method = "cosine")
错误:找不到功能“不相似”
然后我了解到“不相似”函数被dist
函数替换,所以我做了:
docsdissim <- dist(docsTDM, method = "cosine")
crossprod(x,y)/ sqrt(crossprod(x)* crossprod(y))出错: 不一致的数组
还有我被困住的地方。
顺便说一下,我的R版本是:
在CentOS 7上运行的R版本3.2.2(2015-08-14)
答案 0 :(得分:2)
更改
docsdissim <- proxy::dist(docsTDM, method = "cosine")
到
docsdissim <- dist(as.matrix(docsTDM), method = "cosine")
dist
需要输入数字矩阵,数据框或“dist”对象和事件,尽管termdocumentmatrix是一个矩阵,需要在此处进行转换。