确定单元阵列中每个单词的出现次数

时间:2014-12-15 16:06:17

标签: matlab text word-frequency

我有很多单词的向量,我想要一个只有唯一单词的向量,以及每个单词的频率。我已经尝试了histhistc,但它们都是数字值。 我知道函数tabulate但它给出了一些' (例如,这转向'这个')。 如果你有任何想法如何做它MATLAB它会很棒。感谢

1 个答案:

答案 0 :(得分:5)

你走在正确的轨道上!首先使用uniquehist准备数字输入。诀窍是unique返回的出现id这个词可以用作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