文档

分类

创建分类数组

使用分类从带有来自有限集的离散类别的数据创建一个分类数组。将数字数据分组为类别,使用离散化

语法

B =分类(一)
b =分类(a,superset)
B =分类(A、valueset catnames)
B =分类(A,___、名称、值)

描述

例子

B =分类(一个从数组中创建分类数组,一个.类的类别B是来自的排序唯一值一个

有关创建和使用分类数组的更多信息,请参阅分类数组

例子

B =分类(一个价值计中的每个值创建一个类别价值计.类的类别B与价值相同价值计

您可以使用价值计中不存在的值的类别一个.相反,如果一个包含任何不存在的值价值计的相应元素B是未定义的。

例子

B =分类(一个价值计Catnames.命名的类别B通过匹配的类别值价值计有名字Catnames.

例子

B =分类(一个___名称,值创建一个分类数组,其中包含一个或多个指定的其他选项名称,值对论点。您可以在前一个语法中包含任何输入参数。

例如,您可以指定类别具有数学排序。

例子

全部折叠

将字符向量的单元格数组转换为分类数组。

创建一个字符向量的单元格数组。

a = {“r”'B''G''G'“r”'B''B'“r”'G'
一个=3×3个单元阵列'r''b''g'''r''''''''''R'''''''''''''''''''''''''''''''''''

一个是一个包含三个唯一值的3×3个单元格数组。

转换字符向量的单元格数组,一个,到一个分类阵列,B

B =分类(一)
B =3×3分类阵列r b g g r b b r g

内容B匹配的内容一个

显示的类别B

类别(B)
ans =3×1个单元阵列“b”‘g’‘r’

类的类别B是来自的唯一值吗一个按字母顺序排列的。

转换字符向量的单元格数组,一个,转换为分类数组。指定包含不存在的值的类别列表一个

创建一个字符向量的单元格数组。

a = {'共和党人''民主党人''民主党人''民主党人''民主党人''共和党人'
一个=3×2单元阵列“共和党”民主党“民主党”民主党“”民主党“的”共和党“

一个是一个包含两个唯一值的3 × 2单元格数组。

转换字符向量的单元格数组,一个,到一个分类阵列,B并包括一个类别独立的

valueset = {'民主党人''共和党人''独立的'};b =分类(a,superset)
B =3×2分类数组共和党民主党民主党民主党共和党

内容B匹配的内容一个

显示的类别B

类别(B)
ans =3×1个单元阵列“民主党人”“共和党”“独立”

类的类别B是否与中所列值的顺序相同价值计

创建一个字符向量的单元格数组。

a = {“r”'B''G''G'“r”'B''B'“r”'G'
一个=3×3个单元阵列'r''b''g'''r''''''''''R'''''''''''''''''''''''''''''''''''

一个是一个包含三个唯一值的3×3个单元格数组。

转换字符向量的单元格数组,一个,到一个分类阵列,B,并指定类别名称。

B =分类(A, {“r”'G''B'},{“红色”“绿色”'蓝色'})
B =3×3分类阵列红色蓝色绿色红色蓝色蓝色红色绿色

B对来自的内容使用指定的类别名称一个

显示的类别B

类别(B)
ans =3×1个单元阵列“红”“绿色”“蓝”

类的类别B按照他们指定的顺序。

从R2016b开始,您可以使用细绳功能。将字符串数组转换为分类数组,然后更改其类别名称。

str = string({“平面”'喷射'“平面”“直升飞机”'喷射'})
str =1×5字符串数组"plane" "jet" "plane" "helicopter" "jet"
C =分类(str)
C =1×5分类阵列飞机,飞机,直升机,飞机

指定新类别名称。转换字符串数组时,价值计可以是字符串数组或字符向量的单元格数组。但是,在指定新的类别名称时,必须指定Catnames.作为字符向量的单元阵列。

valueet = string({“平面”'喷射'“直升飞机”})
valueset =1×3的字符串数组“飞机”“喷气”“直升机”
catnames = {“PLN。”'喷射''HEL'
catnames =1×3个单元阵列'pln''jet''hel'

使用新类别名称显示类别。

C =分类(str valueset catnames)
C =1×5分类阵列PLN Jet Pln Hel Jet

将缺少元素的字符串数组转换为分类数组。如果字符串数组包含缺失的值,则分类数组包含未定义的值。

str = string({'喷射'“平面”“直升飞机”});str (5) =“平面”;str
str =1×5字符串数组"jet" "plane" "helicopter" <失踪> "plane"
C =分类(str)
C =1×5分类阵列喷气式飞机直升飞机<未定义>飞机

创建一个2乘3的数字数组。

一个=画廊(“integerdata”3(2、3),3)
一个=2 1 2 1 1 3

一个包含值12, 和3.

转换数值数组,一个,转换为分类数组。使用的值12, 和3.定义类别公共汽车, 和自行车,分别。

valueset = 1:3;catnames = {“汽车”“公共汽车”“自行车”};B =分类(A、valueset catnames)
B =2×3分类数组公共汽车,公共汽车,汽车,汽车,自行车

分类将数值映射到价值计中的类别名称Catnames.

2-by-3分类阵列,B,不是序号。因此,您只能比较B为平等。比较值B使用关系操作符,例如小于和大于,必须包括“顺序”,真的名称-值对的论点。

创建一个5×2数字数组。

一个=画廊(“integerdata”,3,[5,2],1)
一个=3 2 3 3 3 2 2 1 3 2

一个包含值12, 和3.

转换数值数组,一个,转换为序数分类数组,其中1、2和3分别表示儿童、成人和老年人。

valueset = [1:3];catnames = {“孩子”'成人'“高级”};B =分类(A valueset catnames,“顺序”,真的)
B =5×2分类数组老人,老人,老人,老人,老人,老人,孩子,老人

B是序数的,范畴的B有一个数学顺序,儿童<成人<高级

使用离散化函数(而不是分类)将100个随机数量分为三类。

x =兰德(100 1);Y =离散化(x,[0.25 .75 1],'分类',{“小”'中等的'“大”});摘要(y)
小型22媒体46大32

输入参数

全部折叠

输入数组,指定为数字阵列,逻辑阵列,分类数组,字符串数组或字符向量的单元数组。

分类从字符串或字符向量的输入值中删除前导和尾随空格。

如果一个包含缺少的值,对应的元素B<定义>.缺少值是对于数字数组,缺少的字符串(< >失踪)或空字符串(字符串(”))对于字符串数组,空字符向量('')对于字符向量的细胞阵列,和<定义>对于分类阵列。B没有未定义值的类别。要为缺失或未确定值创建显式类别,必须包含所需的类别名称Catnames., 和< >失踪,空字符串,空字符向量,或<定义>价值计

除了数组,一个可以是具有以下类方法的对象:

  • 独特的

  • 情商

定义类别的值,指定为具有唯一值的向量。的数据类型价值计和数据类型一个必须是一样的,除了什么时候一个是一个字符串数组。在这种情况下,价值计可以是字符串数组,也可以是字符向量的单元格数组。

分类从元素中删除前导和尾随空格价值计它们是字符串或字符向量。

类别名称,指定为字符向量的单元格数组。如果不指定Catnames.输入参数,分类使用值价值计类别名称。

合并多个不同的值一个进入一个单一的范畴B,包括与这些值对应的重复名称。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。姓名参数名和价值是相应的价值。姓名必须出现在单引号内('')。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“顺序”,真的指定类别具有数学排序

全部折叠

数学排序指示符,指定为逗号分隔对,由“顺序”和任何一种真的0, 或者1

分类创建非序号的分类数组。这是默认行为。

类的类别B没有数学顺序。因此,您只能比较B为平等。

真的

分类创建一个序列分类数组。

类的类别B有一个数学排序,这样第一个类别是最小的,最后一个类别是最大的。你可以比较B使用关系操作符,例如小于和大于,来比较相等的值。

分类保护指标指定为逗号分隔对组成“保护”和任何一种真的0, 或者1.序列分类阵列的类别始终受到保护。默认值是真的当你指定“顺序”,真的否则否则。

将新值分配给B,类别会自动更新。因此,您可以组合具有不同类别的(非序数)类别数组。类别可以相应地更新,以包含两个数组中的类别。

真的

将新值分配给B,值必须属于现有类别之一。因此,只能组合具有相同类别的数组。添加新类别B,则必须使用该函数addcats

扩展能力

介绍在R2013B.

这个主题有用吗?