2014-11-24 2 views
0

У меня есть большая матрица, ячейки которой представляют количество вхождений слова (строки) в текстовый документ (столбец).найти слова в матрице matlab

counts = rand(567840,799); % 567840 words,799 text documents 

Без выполнения цикла мне нужно:

1) извлечения индексов из слов, которые occurr по крайней мере на 90% текстовых документов

2) извлечение индексов из слова, которые охватывают максимум 2 раза во всей коллекции документов.

для точки 2, я бы

idx_2 = find(sum(counts,2)<=2); 

Я борюсь с пунктом 1 ... Можете ли вы мне помочь?

+0

Было бы хорошо, если бы вы разместили несколько образцов вашей матрицы. – kkuilla

+0

Привет! Я уже преобразовал свой текстовый файл в матрицу счетчиков. строки - это слова и столбцы - это документы. значение в ячейках (i, j) представляет собой число вхождений слова i в документ j. – gabboshow

+1

Да, но это было бы полезно для других, которые пытаются помочь/прочитать этот пост в будущем, чтобы узнать, как выглядит ваша матрица. – kkuilla

ответ

1

Для 1 вы можете сделать

idx1 = find(mean(counts > 0, 2) >= 0.9); 

и 2, как вы сказали

idx2 = find(sum(counts, 2) <= 2); 

Редактировать - Я вижу Луис Mendo уже упоминал об этом в комментариях, так я пометил это сообщество вики ,

Смежные вопросы