2017-03-26 9 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 

내가 행 합계가 0 나는 내가 DTM에서 제거 행을 알고 싶습니다되어있는 DTM의 일부 행을 제거하기 때문이다 오류

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

입니다 그래서 내 원래 데이터 프레임에서도 동일한 행을 제거 할 수 있습니다. 선행

+3

'(slam :: row_sums (dtm) == 0)'시도해보십시오. –

답변

0

에서

하라구요 다음 코드는 빈 행의 문서 ID를 표시합니다.

rowTotals <- apply(dtm, 1, sum) 
empty_rows <- dtm[rowTotals == 0, ]$dimnames[1][[1]]