主要内容

dummyvar

创建虚拟变量

描述

例子

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

例子

全部折叠

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

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

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

D = dummyvar(颜色)
D =6×30 0 1 1 0 0 0 1 0 0 0 1 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 2 1 2 2

中的数据创建虚拟变量集团

D = dummyvar(集团)
D =8×51 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 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 =分类(编码);

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

组={电话,newcodes};

中的组创建虚拟变量集团

D = dummyvar(集团)
D =7×41 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1

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

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

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

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

确定类别向量中的类。

类=类别(colorsOriginal);

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

dummyColors = dummyvar (colorsOriginal)
dummyColors =6×40 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0

方法解码二维中的虚拟变量onehotdecode函数。

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

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

输入参数

全部折叠

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

如果集团是类别向量,则组及其顺序与类别函数应用到集团.如果集团是数字向量吗dummyvar假设组和它们的顺序是1:马克斯(集团).在这方面,dummyvar将数值分组变量与grp2idx.有关分组变量中组的顺序的信息,请参见分组变量

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

例子:{起源、汽缸}

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

输出参数

全部折叠

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

数据类型:|

提示

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

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

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

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

选择功能

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

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

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

扩展功能

版本历史

之前介绍过的R2006a

Baidu
map