如何以编程方式对表列变量MATLAB进行分组?

时间:2018-04-11 21:39:15

标签: matlab matlab-table

如果我创建一个表格:

t = table(magic(3));

我得到一个带有奇异变量名称的表

Table with Singular Variable Name

但是如果我:

a = magic(3);
T = array2table(a);

然后我得到一个包含三个变量名称的表:

Table with Three Variable Names

如果我尝试通过仅为表发送一个变量名来对列进行分组:

T.Properties.VariableNames = {'OneName'};
The VariableNames property must contain one name for each variable in the table.

在第二种情况下,可以通过突出显示列并右键单击鼠标来手动将列组合成一列。

Manually Combined 3 Variables into 1 Variable

如果我已经创建了矩阵a,如何以编程方式将三个变量分组为一个变量,如第一个示例所示?

编辑:

*如第一个例子中那样,如果我已经创建了表a

我正在使用R2017b

根据以下评论,我在R2018a之前询问如何做mergevars

在上面的例子中,我可以将它们分组为一个变量:

t = table(a);

换句话说,我希望创建多个多列变量。换句话说,在R2018a之前做mergevars

1 个答案:

答案 0 :(得分:0)

使用每列的变量名创建表T后,可以提取列值,然后将其分配回T

b = T{:, 1:2};
c = T{:, 3};
T = table(b, c);

enter image description here