text2vec 中 2 个组合 DTM(通过 cBind)上的错误 运行 glmnet

error running glmnet on 2 combined DTMs (via cBind) in text2vec

我使用相同的数据集在 text2vec 中创建了一个 tf-idf DTM 和一个基于 n-gram 的 DTM。现在,我可以 运行 分别对它们中的每一个进行 glmnet,但是当我通过 cBind 将这 2 个 DTM 组合在一起时,glmnet 给我一个错误:

Error in validObject(.Object) :invalid class “dgCMatrix” object: length(Dimnames[1]) differs from Dim[1] which is 43895

dtm_train_tfidf = (19579 * 27511) 矩阵,并且

dtm_train_ngram = (19579 * 16384) 矩阵。

这意味着它们具有完全相同的行数,我可以使用 cBind(cbind 用于矩阵)将它们组合起来并得到一个大矩阵,我应该能够在该矩阵上 运行 glmnet。 只是我无法 运行 它,我得到了这个错误。 我该如何纠正?

这是由于错误 https://github.com/dselivanov/text2vec/issues/205。您可以使用 GitHub 的开发版本,或者只是从哈希向量化器中删除 dtm 的名称。