如何将DocumentTermMatrix(tm包)转换为R中的稀疏矩阵?

时间:2015-03-23 17:14:57

标签: r sparse-matrix tm

我使用tm个包和DocumentTermMatrix来创建DocumentTermMatrix,现在我想将其转换为备用矩阵,以便从{glmnet函数输出glmnet 1}}包。

有关如何做到这一点的任何想法? 对象看起来像这样:

> str(yy)
List of 6
 $ i       : int [1:13864810] 2 2 2 2 2 2 2 2 2 2 ...
 $ j       : int [1:13864810] 320 334 339 346 347 348 355 360 362 363 ...
 $ v       : num [1:13864810] 1 1 1 1 1 1 1 1 1 1 ...
 $ nrow    : int 709678
 $ ncol    : int 371
 $ dimnames:List of 2
  ..$ Docs : chr [1:709678] "1" "2" "3" "4" ...
  ..$ Terms: chr [1:371] "declarative_" "declarative_0" "declarative_0zc" "declarative_0zd" ...
 - attr(*, "class")= chr [1:2] "DocumentTermMatrix" "simple_triplet_matrix"
 - attr(*, "weighting")= chr [1:2] "term frequency" "tf"
> class(yy)
[1] "DocumentTermMatrix"    "simple_triplet_matrix"

这是唯一的方法吗?

sparseYY <- sparseMatrix( i = yy$i, j=yy$j, x =yy$v)

1 个答案:

答案 0 :(得分:-1)

只需使用as.matrix转换为稀疏矩阵

> dtm_matrix <- as.matrix(dtm)
> class(dtm_matrix)
[1] "matrix"