Определение количества вхождений каждого слова в массиве ячеек
У меня огромный вектор слов, и я хочу вектор только с уникальными словами и частотой для каждого слова. Я уже пробовала hist
а также histc
но они для числового значения. Я знаю функцию tabulate
но это дает некоторые слова "(например, это превращается в" это "). Если у вас есть идеи, как это сделать, MATLAB было бы здорово. Спасибо
1 ответ
Решение
Вы были на правильном пути! Просто используйте unique
сначала подготовить числовой ввод для hist
, Хитрость в том, что идентификаторы вхождения слова возвращаются unique
может быть использован как вход для hist
функция, так что вы можете получить счет без явного for
петли:
words = {'abba' 'bed' 'carrot' 'damage' 'bed'};
[unique_words, ~, occurrences] = unique(words);
unique_counts = hist(occurrences, 1:max(occurrences));
Это дает:
>> unique_words
'abba' 'bed' 'carrot' 'damage'
>> unique_counts
1 2 1 1