Main Content

table2array

Convert table to homogeneous array

Description

A = table2array(T) converts an input table or timetable to a homogeneous array. The variables in the input T become columns in the output array A.

The output A does not include the table properties in T.Properties.

  • If T is a table with row names, then A does not include the row names.

  • If T is a timetable, then A does not include the row times.

example

Examples

collapse all

Create a table, T, consisting of numeric data.

T = table([1;2;3],[2 8; 4 10; 6 12],[3 12 21; 6 15 24; 9 18 27],...
    'VariableNames',["One" "Two" "Three"])
T=3×3 table
    One      Two          Three    
    ___    _______    _____________

     1     2     8    3    12    21
     2     4    10    6    15    24
     3     6    12    9    18    27

Convert table, T, to an array.

A = table2array(T)
A = 3×6

     1     2     8     3    12    21
     2     4    10     6    15    24
     3     6    12     9    18    27

A contains two columns from variable Two and three columns from variable Three.

Define the numeric subset of a table to convert to an array.

Create a table with nonnumeric data in the first variable.

T = table(categorical(["Y";"Y";"N";"N";"F"]),[38;43;38;40;49],...
    [71;69;64;67;64],[176;163;131;133;119],...
    'VariableNames',["Smoker" "Age" "Height" "Weight"])
T=5×4 table
    Smoker    Age    Height    Weight
    ______    ___    ______    ______

      Y       38       71       176  
      Y       43       69       163  
      N       38       64       131  
      N       40       67       133  
      F       49       64       119  

Convert T(:,2:4) to an array.

A = table2array(T(:,2:4))
A = 5×3

    38    71   176
    43    69   163
    38    64   131
    40    67   133
    49    64   119

A does not include data from the variable Smoker.

Create a table, T, with two rows and three variables where each variable has three dimensions.

T = table(ones(2,1,3),2*ones(2,2,3),3*ones(2,3,3),...
    'VariableNames',["One" "Two" "Three"])
T=2×3 table
        One             Two            Three    
    ____________    ____________    ____________

    1x1x3 double    1x2x3 double    1x3x3 double
    1x1x3 double    1x2x3 double    1x3x3 double

The size of the table is 2-by-3.

Convert table T to an array.

A = table2array(T)
A = 
A(:,:,1) =

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


A(:,:,2) =

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


A(:,:,3) =

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

The size of A is 2-by-6-by-3.

Input Arguments

collapse all

Input table, specified as a table or timetable. All variables in T must have sizes and data types that are compatible for horizontal concatenation. Specifically, the size of all variable dimensions greater than 2 must match.

  • If T is an m-byn table or timetable with variables that each have one column, then each variable becomes one column in A, and A is an m-by-n array.

  • If T contains variables that consist of more than one column, those variables become multiple columns in A, and the size of A is greater than the size of T.

  • If T contains variables with more than two dimensions, the number of dimensions of A is the same as the number of variable dimensions.

Tips

  • table2array horizontally concatenates the variables in T to create A. If the variables in T are cell arrays, table2array does not concatenate their contents, and A is a cell array, equivalent to table2cell(T). To create an array containing the contents of variables that are all cell arrays, use cell2mat(table2cell(T)).

  • These syntaxes return the same array as table2array(T).

    • T{:,:}

    • T.Variables, when the name of the second dimension of the table is the default name, 'Variables'

    • T.(T.Properties.DimensionNames{2}), when the name of the second dimension of the table is not 'Variables'

Algorithms

If T contains variables with different data types that are compatible for horizontal concatenation, table2array creates a homogeneous array, A, of the dominant data type. For example, if T contains double and single numeric data, table2array(T) returns an array with data type single.

Extended Capabilities

Thread-Based Environment
Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

Version History

Introduced in R2013b