Итак, я создаю основу для своего исследования твитов.Часть моей структуры включает создание окончательного набора данных, который будет использоваться для целей классификации и моделирования тем в дальнейшем.
У меня есть три объекта:
1.) ngram.features.df - содержит 44159 строк / твитов,3 столбца, а именно: ID, X1 и X2
2.) tweets.corpus - корпус, созданный из столбца ngram.features.df. X1, X1 содержит очищенный твит для обработки
3.) mydtm - это термин документаматрица уменьшена до 44043 строк / твитов, потому что я удалил строки / твиты с doc.lengths = 0. Это было сделано через:
doc.lengths <- rowSums(as.matrix(DocumentTermMatrix(tweets.corpus)))
mydtm <- DocumentTermMatrix(tweets.corpus[doc.lengths > 0], control = list(wordLengths = c(3,10)))
> mydtm
<<DocumentTermMatrix (documents: 44043, terms: 9252)>>
Non-/sparse entries: 325412/407160424
Sparsity : 100%
Maximal term length: 10
Weighting : term frequency (tf)
Как выможно видеть, что mydtm
уменьшено до 44043
строк, в то время как у моего исходного кадра данных ngram.features.df
, из которого был построен mydtm, было 44159
строк.
Теперь я не смог сохранить ID's
оригиналадокументы / твиты из фрейма данных в mydtm
.
Я попробовал один в Как вручную установить идентификатор документа в корпусе? , но это относится к установке идентификаторов внутри корпуса, а не в DTM.
Теперь проблема в merge
.Я буду merge
ngram.features.df
(44159) с версией фрейма данных mydtm
(44043).Тем не менее, из-за сокращения они будут иметь непоследовательное количество строк / твитов / документов.Таким образом, необходимо сохранить удостоверения личности.
Кто-нибудь может оказать помощь?