主要内容

dummyvar

创建虚拟变量

描述

例子

D= dummyvar (集团返回一个矩阵D包含0和1,其列为虚拟变量分组变量集团.的每一列集团是一个分组变量,其值指示类别级别。一排排的集团表示对所有变量的观察结果。

例子

全部折叠

创建指定颜色类型的分类数据的列向量。

颜色= {“红色”“蓝”“绿色”“红色”“绿色”“蓝”};颜色= categorical(颜色);

为每种颜色类型创建虚拟变量。

D = dummyvar(颜色)
D =6×30 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0

中的列D对应于中的级别颜色.例如,的第一列dummyvar对应于第一层,“蓝”,在颜色

的类别级别颜色

类别(颜色)
ans =3 x1细胞{'蓝色'}{'绿色'}{'红色'}

创建一个矩阵集团包含两台机器和三个操作员对一个进程的影响的数据。

Machine = [1 1 1 1 2 2 2 2]';Operator = [1 2 3 1 2 3 1 2]';组=[机器操作员]
组=8×21 1 1 2 1 3 1 1 2 2 2 2 2 1 2 2

创建数据的虚拟变量集团

D =哑巴(组)
D =8×51 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0

的前两列D分别表示机器1和机器2的观测值。其余的列表示对三个运算符的观察结果。

创建电话类型的单元格数组和区域代码的数字向量。

电话= {“移动”“固定电话”“移动”“移动”“移动”“固定电话”“固定电话”};代码= [802 802 603 603 802 603 802]';

因为区号数据有两个级别(而不是与整数对应的802个级别)1:802),将代码到一个分类向量。

新代码=分类(代码);

结合电话而且newcodes将变量分组到单元格数组中集团

Group = {phone,newcodes};

为组创建虚拟变量集团

D =哑巴(组)
D =7×41 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1

的前两列D对应电话类型,最后两列对应区号。

创建虚拟变量,然后将它们解码回原始数据。

创建指定颜色类型的分类数据的列向量。

colorsorigoriginal = [“红色”“蓝色”“红色”“绿色”“黄色”“蓝色”];colorsorig原始=分类(colorsorig原始)
colorsOriginal =6 x1分类红,蓝,红,绿,黄,蓝

确定分类向量中的类。

classes = categories(colorsorigoriginal);

属性为每种颜色类型创建虚拟变量dummyvar函数。

dummyColors = dummyvar(colorsorig原始)
dummyColors =6×40 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0

对二维的虚拟变量进行解码onehotdecode函数。

colorsDecoded = onehotdecode(dummyColors,classes,2)
colorsDecoded =6 x1分类红,蓝,红,绿,黄,蓝

解码后的变量与原始颜色类型匹配。

输入参数

全部折叠

将变量分组,指定为正整数向量或表示单个变量中的级别的分类列向量,即包含一个或多个变量的单元格数组分组变量,或表示多个变量中的级别的正整数矩阵。

如果集团是分类向量,那么分组和它们的顺序匹配输出的类别函数应用于集团.如果集团是数字向量吗dummyvar假设这些基团和它们的顺序是1:马克斯(集团).在这方面,dummyvar以不同的方式处理数值分组变量grp2idx.有关分组变量中组的顺序的信息,请参见分组变量

例子:[2 1 1 1 2 3 3 2]'

例子:{起源、汽缸}

数据类型:||分类|细胞

输出参数

全部折叠

虚拟变量,作为an返回n——- - - - - -年代数字矩阵,n的行数是多少集团而且年代每列的层数和是集团.的列从左到右D的第一列是否创建了虚拟变量集团的第二列创建的虚拟变量集团等等。

数据类型:|

提示

  • 在回归分析和方差分析中使用虚拟变量来表示类别预测因子的值。

  • dummyvar对待中的值和未定义的分类级别集团作为丢失的数据和返回D

  • 如果矩阵中有一列是1D,则得到矩阵X = [ones(size(D,1),1) D]是等级缺陷。如果集团有多列,然后是矩阵D本身是秩亏的,因为由任意列产生的虚拟变量集团和总是一列的1。的列产生的每组虚拟变量中,回归和方差分析计算通常通过消除一个虚拟变量(隐式地将删除列的系数设置为零)来解决这个问题集团

  • 如果集团是一个数值向量的水平,不完全对应于整数1:马克斯(集团),首先将数据转换为分类向量分类.然后可以将结果传递给dummyvar.有关示例,请参见从多个分组变量创建虚拟变量

选择功能

另外,使用onehotencode编码数据标签。考虑使用onehotencode而不是dummyvar在这些情况下:

  • 对分类数据标签表进行编码

  • 指定要展开以编码数据标签的维度

扩展功能

版本历史

R2006a之前介绍