主要内容

table2array

将表转换为同构数组

说明

A = table2array(T) 将输入表或时间表转换为同构数组。输入 T 中的变量成为输出数组 A 中的列。

输出 A 不包括 T.Properties 中的表属性。

  • 如果 T 是包含行名称的表,则 A 不包含行名称。

  • 如果 T 是时间表,则 A 不包括行时间。

示例

示例

全部折叠

创建一个包含数值数据的表。

T = table([1;2;3],[2 8; 4 10; 6 12],[3 12 21; 6 15 24; 9 18 27])
T=3×3 table
    Var1     Var2          Var3     
    ____    _______    _____________

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

将表转换为数组。

A = table2array(T)
A = 3×6

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

该数组包含 Var2 的两列和 Var3 的三列。

定义表的数值子集以转换为数组。

创建第一个变量包含非数值数据的表。

T = table(categorical(["Y";"Y";"N";"N";missing]),[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  
    <undefined>    49       64       119  

通过下标对 T 进行索引以访问其变量的子集。将该子集转换为一个数组。输出数组不包含变量 Smoker 的数据。

A = table2array(T(:,["Age" "Height" "Weight"]))
A = 5×3

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

创建一个包含两行和三个变量的表,其中每个变量都具有三个维度。

T = table(ones(2,1,3),2*ones(2,2,3),3*ones(2,3,3))
T=2×3 table
        Var1            Var2            Var3    
    ____________    ____________    ____________

    1×1×3 double    1×2×3 double    1×3×3 double
    1×1×3 double    1×2×3 double    1×3×3 double

将表转换为数组。输出数组的大小为 2×6×3。

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

输入参数

全部折叠

输入表,指定为表或时间表。T 中的所有变量都必须具有适合水平串联的大小和数据类型。具体而言,维度大于 2 的所有变量的大小必须匹配。

  • 如果 T 是一个每个变量具有一列的 m×n 表或时间表,则每个变量都将成为 A 中的一列,并且 A 是一个 m×n 数组。

  • 如果 T 中的变量包含多列,这些变量将成为 A 中的多列,并且 A 的大小大于 T 的大小。

  • 如果 T 包含二维以上的变量,则 A 的维数与变量维数相同。

输出参量

全部折叠

输出数组。

提示

  • table2array 水平串联 T 中的变量以创建 A。如果 T 中的变量为元胞数组,则 table2array 不会串联其内容,并且 A 也为元胞数组,等效于 table2cell(T)。要创建包含元胞数组变量的内容的数组,请使用 cell2mat(table2cell(T))

  • 以下语法返回与 table2array(T) 相同的数组。

    • T{:,:}

    • T.Variables,当表的第二个维度的名称是默认名称 'Variables'

    • T.(T.Properties.DimensionNames{2}),当表的第二个维度的名称不是 'Variables'

算法

如果 T 包含的变量具有适合水平串联的不同数据类型,table2array 将会创建一个具有主导数据类型的同构数组 A。例如,如果 T 包含 doublesingle 数值数据,table2array(T) 将返回数据类型为 single 的数组。

扩展功能

全部展开

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2013b 中推出