我正在使用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值。
答案 0 :(得分:0)
有类似的问题可以通过更改字符来解决:
dtm$ID<-as.character(dtm$ID)
就我而言,我有三列,ID,Word和Count。
将ID和Word更改为字符。计数仍然是整数。
答案 1 :(得分:-1)
我遇到了类似的问题,通过将因子列转换为字符来解决了该问题