将cast_dtm与大型语料库

时间:2017-07-06 19:06:26

标签: r tidytext

我正在使用cast_dtm命令将每行一个文档的每行数据帧转换为文档术语矩阵,以用作LDA的输入。代码是:

posts_tokenized.dt %>% cast_dtm(id, word, term_frequency) -> posts.dtm

它使用33,000个文档的语料库工作正常,但在使用147,242个文档的语料库时出现以下错误。

Error in validObject(r) : invalid class "dgTMatrix" object: length(Dimnames[1]) differs from Dim[1] which is 147242

感谢任何帮助!

编辑:标记化的数据框如下所示:

> head(df_tokenized)
# A tibble: 6 x 3
                         id           word term_frequency
                        <fctr>          <chr>          <int>
1 6013004059_10154817753659060 demonetisation              1
2 6013004059_10154828153334060 demonetisation              1
3 6013004059_10154835596219060 demonetisation              1
4 6013004059_10154837355359060 demonetisation              1
5 6013004059_10154872354154060 demonetisation              1
6 6013004059_10154556655804060         hanjin              1

没有列包含空值或NA值。

2 个答案:

答案 0 :(得分:0)

有类似的问题可以通过更改字符来解决:

dtm$ID<-as.character(dtm$ID)

就我而言,我有三列,ID,Word和Count。

将ID和Word更改为字符。计数仍然是整数。

答案 1 :(得分:-1)

我遇到了类似的问题,通过将因子列转换为字符来解决了该问题