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       

 

 

 

posted @ 2022-09-03 15:20  叕叒双又  阅读(1250)  评论(0编辑  收藏  举报