Матрица смежности терминов R Text Mining

Я создал матрицу терминов документа из своего Корпуса, используя пакет tm.

dtm <- DocumentTermMatrix(myCorpus, control=list(wordLengths=c(4, 20),
       bounds = list(global = c(1,13))))

Затем я создал матрицу смежности терминов.

ttm_results <- t(as.matrix(dtm)) %*% as.matrix(dtm)

Когда я проверяю образец своих результатов

ttm_results[200:205, 200:205]

введите здесь описание изображения

Я заметил, что это очень большой, но разреженный набор данных.

Как я могу удалить строки со значением essentially zeros?

Я считаю, что essentially zero включает такие строки, как 1,2 и 5, в которых нет терминов adjacent.


person Colin    schedule 26.01.2016    source источник


Ответы (1)


Как насчет этого

#rebuilding your matrix 
m <- diag(6)
m[3, 3] = 71
m[4, 5] = 1
m[5, 4] = 1

m
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    0    0    0    0    0
[2,]    0    1    0    0    0    0 
[3,]    0    0   71    0    0    0
[4,]    0    0    0    1    1    0
[5,]    0    0    0    1    1    0
[6,]    0    0    0    0    0    1

#answer
m[!rowSums(m)==1, ]
person Jacob H    schedule 26.01.2016
comment
Я думаю, вы движетесь в правильном направлении, но мой R-foo не такой, каким должен быть. Я прочитал ? diag, но я не очень понимаю, что происходит в тех первых 4 строках, где вы перестраиваете матрицу. Можно немного уточнить? - person Colin; 27.01.2016
comment
Первые четыре строки кода копируют исходную матрицу. Вам нужно только обратить внимание на последнюю строку кода - person Jacob H; 27.01.2016