categorical — Create a categorical array object.
categorical(A) maps input labels to integer category codes and stores category labels in object metadata.
Syntax
B = tabularBuiltin(args...)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
args | Any | Variadic | — | Input values and name-value options. |
Returns
| Name | Type | Description |
|---|---|---|
out | Any | Result value. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:table:InvalidArgument | Arguments or table metadata are invalid. | table: invalid argument |
RunMat:table:InvalidIndex | Table indexing is invalid. | table: invalid index |
RunMat:table:InvalidVariable | A table variable name or value is invalid. | table: invalid variable |
RunMat:readtable:IOError | readtable cannot open or read the requested file. | readtable: file read failed |
RunMat:readtable:UnsupportedFileType | readtable receives a file type outside the text or spreadsheet import backends. | readtable: unsupported file type |
How categorical works
- String, char, cellstr, numeric, and logical inputs are supported.
categorical(A)derives sorted unique categories from non-missing labels.- String labels preserve leading and trailing whitespace.
categorical(A, valueset)uses the supplied values as the category order and marks unmatched labels as missing.categorical(A, valueset, catnames)maps source values throughvaluesetand stores the corresponding category names fromcatnames;valuesetentries must be unique.- Empty labels become missing category codes.
"Ordinal"and"Protected"are accepted as name-value options, while those same words can still be used as positional category labels when not followed by logical option values.- Categorical-to-categorical comparisons require matching category lists.
- Ordinal categorical arrays support equality, relational comparisons,
min, andmaxby category order. - Use
ordinal(...)as a compatibility constructor for categoricals whose category order is meaningful.
Example
Create categories
C = categorical({'red'; 'blue'; 'red'})Expected output:
C = categorical objectUsing categorical with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how categorical changes the result.
Run a small categorical example, explain the result, then change one input and compare the output.
Related Table functions
array2table · array2timetable · cell2table · dictionary · head · iscategorical · isordinal · istable · istimetable · ordinal · pivot · rowfilter · struct2table · table2array · table2cell · table2struct · table2timetable · timerange · timetable · timetable2table · uitable · vartype
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how categorical is executed, line by line, in Rust.
- View the source for categorical in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.