matlab数据结构之-categorical
categorical中存储有限、可数不同的可能值;使用categorical函数
1.categorical定义:
>> icecreamfaves = categorical({'Vanilla', 'Chocolate', ... 'Chocolate', 'Rum Raisin', 'Vanilla', 'Strawberry', ... 'Chocolate', 'Rocky Road', 'Chocolate', 'Rocky Road', ... 'Vanilla', 'Chocolate', 'Strawberry', 'Chocolate'}); >> icecreamfaves icecreamfaves = 1×14 categorical array Columns 1 through 5 Vanilla Chocolate Chocolate Rum Raisin Vanilla Columns 6 through 10 Strawberry Chocolate Rocky Road Chocolate Rocky Road Columns 11 through 14 Vanilla Chocolate Strawberry Chocolate
或者通过string cell array创建,用categorical()转换
cellicecreamfaves = {'Vanilla', 'Chocolate', ... 'Chocolate', 'Rum Raisin', 'Vanilla', 'Strawberry', ... 'Chocolate', 'Rocky Road', 'Chocolate', 'Rocky Road', ... 'Vanilla', 'Chocolate', 'Strawberry', 'Chocolate'} cellicecreamfaves = 1×14 cell array Columns 1 through 4 {'Vanilla'} {'Chocolate'} {'Chocolate'} {'Rum Raisin'} Columns 5 through 8 {'Vanilla'} {'Strawberry'} {'Chocolate'} {'Rocky Road'} Columns 9 through 12 {'Chocolate'} {'Rocky Road'} {'Vanilla'} {'Chocolate'} Columns 13 through 14 {'Strawberry'} {'Chocolate'} 转换:icecreamfaves = categorical(cellicecreamfaves);
2.获取categorical arrays的categories以元列向量,字母顺序排序:统计类别
cats = categories(icecreamfaves) cats = 5×1 cell array {'Chocolate' } {'Rocky Road'} {'Rum Raisin'} {'Strawberry'} {'Vanilla' }
3.统计每个categories的数量,需要域上一步统计结合起来使用
countcats(icecreamfaves) ans = 6 2 1 2 3
4.统计categories的项目及数量
>> summary(icecreamfaves) Chocolate Rocky Road Rum Raisin Strawberry Vanilla 6 2 1 2 3
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。