Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

dummyvar

Crear variables ficticias

Descripción

ejemplo

D = dummyvar(group) Devuelve una matriz que contiene ceros y unos, cuyas columnas son variables ficticias para el in.Dvariables de agrupamientogroup Cada columna de es una variable de agrupación única, con valores que indican los niveles de categoría.group Las filas de representan observaciones en todas las variables.group

Ejemplos

contraer todo

Cree un vector de columna de datos categóricos especificando tipos de color.

Colors = {'Red';'Blue';'Green';'Red';'Green';'Blue'}; Colors = categorical(Colors);

Cree variables ficticias para cada tipo de color.

D = dummyvar(Colors)
D = 6×3

     0     0     1
     1     0     0
     0     1     0
     0     0     1
     0     1     0
     1     0     0

Las columnas corresponden a los niveles en.DColors Por ejemplo, la primera columna de corresponde al primer nivel, en.dummyvar'Blue'Colors

Mostrar los niveles de categoría de.Colors

categories(Colors)
ans = 3x1 cell array
    {'Blue' }
    {'Green'}
    {'Red'  }

Cree una matriz de datos que contenga los efectos de dos máquinas y tres operadores en un proceso.group

machine = [1 1 1 1 2 2 2 2]'; operator = [1 2 3 1 2 3 1 2]'; group = [machine operator]
group = 8×2

     1     1
     1     2
     1     3
     1     1
     2     2
     2     3
     2     1
     2     2

Crear variables ficticias de los datos en.group

D = dummyvar(group)
D = 8×5

     1     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

Las dos primeras columnas representan las observaciones de la máquina 1 y la máquina 2, respectivamente.D Las columnas restantes representan las observaciones de los tres operadores.

Cree una matriz de celdas de tipos de teléfono y un vector numérico de códigos de área.

phone = {'mobile';'landline';'mobile';'mobile';'mobile';'landline';'landline'}; codes = [802 802 603 603 802 603 802]';

Dado que los datos de código de área tienen dos niveles (en lugar de 802 niveles correspondientes a los enteros), conviértalo en un vector categórico.1:802codes

newcodes = categorical(codes);

Combine las variables de agrupación en la matriz de celdas.phonenewcodesgroup

group = {phone,newcodes};

Cree variables ficticias para los grupos en.group

D = dummyvar(group)
D = 7×4

     1     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

Las dos primeras columnas de corresponden a los tipos de teléfono, y las dos últimas columnas corresponden a los códigos de área.D

Argumentos de entrada

contraer todo

Agrupar variables, especificadas como vector entero positivo o vector de columna categórica que representa niveles dentro de una única variable, una matriz de celdas que contiene uno o más, o una matriz de enteros positivos que representa niveles dentro de varias variables.variables de agrupamiento

Si es un vector categórico, los grupos y su orden coinciden con la salida de la función aplicada.groupcategoriesgroup Si es un vector numérico, entonces asume que los grupos y su orden son.groupdummyvar1:max(group) En este sentido, trata una variable de agrupación numérica de forma diferente.dummyvargrp2idx Para obtener información sobre el orden de los grupos dentro de las variables de agrupamiento, consulte.Agrupar variables

Ejemplo: [2 1 1 1 2 3 3 2]'

Ejemplo: {Origin,Cylinders}

Tipos de datos: single | double | categorical | cell

Argumentos de salida

contraer todo

Las variables ficticias, devueltas como una matriz numérica, donde es el número de filas de y es la suma del número de niveles en cada columna de.nsngroupsgroup De izquierda a derecha, las columnas de son variables ficticias creadas a partir de la primera columna de, seguidas por variables ficticias creadas a partir de la segunda columna de, y así sucesivamente.Dgroupgroup

Tipos de datos: single | double

Sugerencias

  • Utilice variables ficticias en el análisis de regresión y ANOVA para indicar los valores de los predictores categóricos.

  • trata los valores y los niveles categóricos no definidos como datos faltantes y devuelve valores.dummyvarNaNgroupNaND

  • Si una columna de unos es introducida en la matriz, entonces la matriz resultante es deficiente rango.DX = [ones(size(D,1),1) D] Si tiene varias columnas, a continuación, la matriz en sí es deficiente rango porque las variables ficticias producidas desde cualquier columna de siempre sumar a una columna de los.groupDgroup Los cálculos de regresión y ANOVA a menudo abordan este problema eliminando una variable ficticia (estableciendo implícitamente los coeficientes de las columnas caídas en cero) de cada grupo de variables ficticias producidas por una columna de.group

  • Si es un vector numérico con niveles que no corresponden exactamente a los enteros, primero convierta los datos a un vector categórico usando.group1:max(group)Categórico A continuación, puede pasar el resultado a.dummyvar Para ver un ejemplo, vea.Crear variables ficticias a partir de varias variables de agrupación

Capacidades ampliadas

Introducido antes de R2006a