【发布时间】:2018-04-11 21:39:14
【问题描述】:
如果我创建一个表:
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.
在第二种情况下,可以通过突出显示列并右键单击鼠标来手动将列合并为一列。
如果我已经创建了矩阵a,我如何以编程方式将三个变量组合成一个变量,如第一个示例所示?
编辑:
*如果我已经创建了表a,那么在第一个示例中?
我正在使用 R2017b
根据下面的评论,我在问如何在 R2018a 之前执行 mergevars。
在上面的例子中,我可以将它们组合成一个变量:
t = table(a);
换句话说,我希望创建多个多列变量。换句话说,在 R2018a 之前做mergevars。
【问题讨论】:
-
我不明白。你问...我是否已经创建了矩阵
a。但是给定a,您可以使用t = table(a),如第一个代码sn-p -
如果您的意思是创建
t从T,请参阅mergevars(需要R2018a) -
只需使用
table(a)而不是array2table(a)。array2table的重点是数组列被分成单独的表列。 -
@Luis Mendo 谢谢路易斯。我在谷歌搜索中没有听说过
mergevars。
标签: matlab matlab-table