在R中使用“TermDocumentMatrix”和“Dist”函数时出错

时间:2015-12-19 15:08:56

标签: r text-mining text-classification text-analysis

我一直试图复制示例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)

1 个答案:

答案 0 :(得分:2)

更改

docsdissim <- proxy::dist(docsTDM, method = "cosine")

docsdissim <- dist(as.matrix(docsTDM), method = "cosine")

dist需要输入数字矩阵,数据框或“dist”对象和事件,尽管termdocumentmatrix是一个矩阵,需要在此处进行转换。