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.

Arrays categóricos ordinales

Orden de las categorías

categorical es un tipo de datos para almacenar datos con valores de un conjunto finito de categorías discretas, que pueden tener un orden natural. Puede especificar y reorganizar el orden de las categorías en todas las matrices categóricas. Sin embargo, sólo se puede tratar ordinal categorías categóricas como tener un orden matemático a su categoría. Utilice un array categórico ordinal si desea utilizar las funciones min, max, o operaciones relacionales, como mayor y menor que.

El sistema discreto de las categorías del animal doméstico {'dog' 'cat' 'bird'} no tiene ninguÌ n ordenar matemático significativo. Usted es libre de utilizar cualquier orden de la categoría y el significado de los datos asociados no cambia. Por ejemplo, pets = categorical({'bird','cat','dog','dog','cat'}) crea una matriz categórica y las categorías se enumeran en orden alfabético, {'bird' 'cat' 'dog'}. Puede elegir especificar o cambiar el orden de las categorías a {'dog' 'cat' 'bird'} y el significado de los datos no cambia.

los arreglos categóricos de ordinal contienen categorías que tienen un ordenamiento matemático significativo. Por ejemplo, el conjunto discreto de categorías de tamaño {'small', 'medium', 'large'} tiene el orden matemático small < medium < large. La primera categoría enumerada es la más pequeña y la última categoría es la más grande. La orden de las categorías en un array categórico ordinal afecta el resultado de comparaciones emparentadas de arrays categóricos ordinales.

Cómo crear matrices categóricas ordinales

En este ejemplo se muestra cómo crear una matriz categórica ordinal mediante la función categorical con el argumento 'Ordinal',true name-value Pair.

Ordinal de matriz categórica de una matriz de celdas de vectores de caracteres

Crear un array categórico ordinal, sizes, a partir de una matriz de celdas de vectores de caracteres, A. Utilice valueset, especificado como un vector de valores únicos, para definir las categorías de sizes.

A = {'medium' 'large';'small' 'medium'; 'large' 'small'}; valueset = {'small', 'medium', 'large'};  sizes = categorical(A,valueset,'Ordinal',true)
sizes = 3x2 categorical array
     medium      large  
     small       medium 
     large       small  

sizes es el arreglo categórico ordinal 3-por-2 con tres categorías tales que small < medium < large. El orden de los valores en valueset se convierte en el orden de las categorías de sizes.

Ordinal de matriz categórica de números enteros

Cree una matriz categórica equivalente a partir de una matriz de enteros. Utilice los valores 1, 2 y 3 para definir las categorías small, medium y large, respectivamente.

A2 = [2 3; 1 2; 3 1]; valueset = 1:3; catnames = {'small','medium','large'};  sizes2 = categorical(A2,valueset,catnames,'Ordinal',true)
sizes2 = 3x2 categorical array
     medium      large  
     small       medium 
     large       small  

Comparar sizes y sizes2

isequal(sizes,sizes2)
ans = logical
   1

sizes y sizes2 son matrices categóricas equivalentes con el mismo orden de las categorías.

Convertir una matriz categórica de no ordinal a ordinal

Cree una matriz categórica no ordinal a partir de la matriz de celdas de vectores de caracteres, A.

sizes3 = categorical(A)
sizes3 = 3x2 categorical array
     medium      large  
     small       medium 
     large       small  

Determine si la matriz categórica es ordinal.

isordinal(sizes3)
ans = logical
   0

sizes3 es un array categórico no ordinal con tres categorías, {'large','medium','small'}. Las categorías de sizes3 son los valores únicos ordenados de A. Debe utilizar el argumento Input, valueset, para especificar un orden de categoría diferente.

Convertir sizes3 a una matriz categórica ordinal, tal que small < medium < large.

sizes3 = categorical(sizes3,{'small','medium','large'},'Ordinal',true);

sizes3 es ahora un array categórico ordinal de 3 por 2 equivalente a sizes y sizes2.

Trabajar con matrices categóricas ordinales

Con el fin de combinar o comparar dos matrices categóricas, los conjuntos de categorías para ambas matrices de entrada deben ser idénticos, incluido su orden. Además, los arrays categóricos ordinales siempre están protegidos. Por tanto, cuando se asignan valores a una matriz categórica ordinal, los valores deben pertenecer a una de las categorías existentes. Para obtener más información, consulte Trabajar con arreglos categóricos protegidos.

Consulte también

| | |

Ejemplos relacionados

Más acerca de