0

我正在使用 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 值。

4

2 回答 2

0

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

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

在我的例子中,我有三列,ID、Word 和 Count。

将 ID 和 Word 更改为字符。计数无论如何都是int。

于 2020-01-31T10:51:39.653 回答
0

我发生了类似的问题,通过将因子列转换为字符来修复它

于 2019-11-12T22:10:00.830 回答