2017-03-26 4 views
0

Rのチャットデータに対してトピックモデリングを実行しようとしています 文書用語行列の作成プロセスまでは良いです。文書総数が0である文書用語行列の行を見つけるR

dtm<- DocumentTermMatrix(corpus) 
dtm<-removeSparseTerms(dtm, sparse=0.995) 
library(topicmodels) 
rowTotals <- apply(dtm, 1, sum) 
dtm2 <- dtm[rowTotals>0,] 
ldaGibbs5 <- LDA(dtm,5) 

gammaDF <- as.data.frame([email protected]) 
names(gammaDF) <- terms(ldaGibbs5) 
gammaDF 

topics<-colnames(gammaDF)[max.col(gammaDF, ties.method = 'first')] 

ここまで私は各文書が属するトピックを見つけました。私は現在、これらのトピックを元のデータフレームにマッピングしようとしています。

Chat2way$topic<-topics 

以下iは、行の合計は0 いる私はそのように私はDTMで除去した行知りたい対象のDTMのいくつかの行を削除したためであるエラー

Error in `$<-.data.frame`(`*tmp*`, "topic", value = c("customer", "email", : 
    replacement has 1530 rows, data has 3561 

ありますオリジナルのデータフレーム内の同じ行を削除することもできます。次のコードは、空の行の文書IDを表示します予期

+3

'(slam :: row_sums(dtm)== 0)'を試してください。 –

答えて

0

に感謝

rowTotals <- apply(dtm, 1, sum) 
empty_rows <- dtm[rowTotals == 0, ]$dimnames[1][[1]] 
関連する問題