Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中将DTM转换为TDM_R_Text Mining - Fatal编程技术网

如何在R中将DTM转换为TDM

如何在R中将DTM转换为TDM,r,text-mining,R,Text Mining,我使用save功能在磁盘上保存了2个文件。第一个是来自tm包的TDM对象。它在环境中看起来是这样的: 第二个是DTM,但区别在于我用as.matrix函数将其包装,因此它看起来像: 我的问题是,如何将第二个对象转换为第一个对象。简单的转置不起作用,我需要以某种方式“解矩阵”。可能吗?或者我应该再次重新创建对象,这是一个相当长的过程,因为两者中的数据有很大不同,正如您在参数中看到的那样。谢谢。考虑以下示例: library(tm) data("crude") tdm <- TermDoc

我使用
save
功能在磁盘上保存了2个文件。第一个是来自
tm
包的TDM对象。它在环境中看起来是这样的:

第二个是DTM,但区别在于我用
as.matrix
函数将其包装,因此它看起来像:


我的问题是,如何将第二个对象转换为第一个对象。简单的转置不起作用,我需要以某种方式“解矩阵”。可能吗?或者我应该再次重新创建对象,这是一个相当长的过程,因为两者中的数据有很大不同,正如您在参数中看到的那样。谢谢。

考虑以下示例:

library(tm)
data("crude")
tdm <- TermDocumentMatrix(crude) 
m <- as.matrix(DocumentTermMatrix(crude))

tdm2 <- as.TermDocumentMatrix(t(m), weighting = weightTf) 
identical(tdm, tdm2)
# [1] TRUE
library(tm)
数据(“原油”)

tdm从不将
用作.matrix
与DocumentTermMatrix一起使用,尤其是那种大小。您可能很容易耗尽内存。尝试
t(as.DocumentTermMatrix(slam::as.simple\u triplet\u matrix(content.dtm),weighting=identity))
旁注:屏幕截图通常不受欢迎。最好发布一个实际的例子(如答案中所示)。虽然我知道有时候很难创造。。。