主要内容

renamecats

重命名分类数组中的类别

说明

B = renamecats(A,newnames) 重命名分类数组中的类别。默认情况下,renamecats 重命名所有类别。B 的元素使用新类别名称。

示例

B = renamecats(A,oldnames,newnames) 仅重命名 oldnames 指定的类别。

示例

示例

全部折叠

创建一个包含新英格兰各州名称缩写的分类数组。

A = categorical(["MA";"ME";"CT";"VT";"ME";"NH";"VT";"MA";"NH";"CT";"RI"])
A = 11×1 categorical
     MA 
     ME 
     CT 
     VT 
     ME 
     NH 
     VT 
     MA 
     NH 
     CT 
     RI 

显示 A 的类别。

categories(A)
ans = 6×1 cell
    {'CT'}
    {'MA'}
    {'ME'}
    {'NH'}
    {'RI'}
    {'VT'}

将这些类别重命名为完整的州名称,而不是使用缩写。

newnames = ["Connecticut" "Massachusetts" "Maine" "New Hampshire" "Rhode Island" "Vermont"];
B = renamecats(A,newnames)
B = 11×1 categorical
     Massachusetts 
     Maine 
     Connecticut 
     Vermont 
     Maine 
     New Hampshire 
     Vermont 
     Massachusetts 
     New Hampshire 
     Connecticut 
     Rhode Island 

显示 B 的类别。

categories(B)
ans = 6×1 cell
    {'Connecticut'  }
    {'Massachusetts'}
    {'Maine'        }
    {'New Hampshire'}
    {'Rhode Island' }
    {'Vermont'      }

创建一个分类数组。

A = categorical(["purple" "blue" "purple" "red" "red" "blue"])
A = 1×6 categorical
     purple      blue      purple      red      red      blue 

显示其类别。

categories(A)
ans = 3×1 cell
    {'blue'  }
    {'purple'}
    {'red'   }

将类别名称 purple 更改为 violet

B = renamecats(A,"purple","violet")
B = 1×6 categorical
     violet      blue      violet      red      red      blue 

显示新类别。请注意,当 violet 替换 purple 时,不会更改类别的顺序。它们不再按字母顺序排列。

categories(B)
ans = 3×1 cell
    {'blue'  }
    {'violet'}
    {'red'   }

输入参数

全部折叠

输入数组,指定为分类数组。

新类别名称,指定为字符串数组、字符向量或字符向量元胞数组。新类别名称必须唯一,且不得与任何现有名称重复。

旧类别名称,指定为字符串数组、字符向量或字符向量元胞数组。

提示

  • 重命名类别不会改变其在 categories(B) 中的位置。使用 reordercats 更改类别顺序。例如,您可以使用 B = reordercats(B,sort(categories(B))) 按字母顺序放置这些类别。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2013b 中推出