dummyvar

创建虚拟变量

描述

例子

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

例子

全部折叠

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

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

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

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

列在D对应的水平颜色。例如,的第一列dummyvar对应于第一级,“蓝”,在颜色

的类别级别颜色

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

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

machine = [11 11 11 22 22]';运算符= [1 2 3 1 2 3 1]';组=[机床操作员]
组=8×21 1 1 2 1 3 1 1 2 2 3 2 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 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

的前两列D对应于电话类型,最后两列对应于区域代码。

输入参数

全部折叠

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

如果集团如果是分类向量,则组及其顺序匹配类别函数应用到集团。如果集团是一个数值向量,那么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。的列产生的每一组虚拟变量中,回归和ANOVA计算通常通过消除一个虚拟变量(隐式地将删除列的系数设置为零)来解决这个问题集团

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

扩展功能

之前介绍过的R2006a