0

如果我创建一个表:

t = table(magic(3));

我得到一个带有单数变量名的表

具有单一变量名称的表

但是,如果我:

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

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

具有三个变量名称的表

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

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

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

手动将 3 个变量合并为 1 个变量

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

编辑:

*如果我已经创建了表,那么在第一个示例中a

我正在使用 R2017b

根据下面的评论,我在问如何mergevars在 R2018a 之前做。

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

t = table(a);

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

4

1 回答 1

0

T为每列创建具有变量名称的表后,可以提取列值,然后将其分配回T

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

在此处输入图像描述

于 2018-04-19T21:07:13.127 回答