Matlab中的多列解列

Matlab中的多列解列,matlab,pivot-table,matlab-table,Matlab,Pivot Table,Matlab Table,如何在matlab中取消堆叠数据?表的unstack只允许我对一列执行此操作,并且似乎无法像Python中提供的那样执行多索引解决方案 我希望将此转换为: 为此: 在Matlab中 下面是生成初始表的代码T: Col1 = [1,2,4,1,3,1,2,3,4].'; Col2 = {'A','A','A','B','B','C','C','C','C'}.'; Col3 = [0.48,0.78,0.58,0.01,0.53,0.26,0.93,0.69,0.45].'; Col4 = [

如何在matlab中取消堆叠数据?表的
unstack
只允许我对一列执行此操作,并且似乎无法像Python中提供的那样执行多索引解决方案

我希望将此转换为:

为此:

在Matlab中

下面是生成初始表的代码
T

Col1 = [1,2,4,1,3,1,2,3,4].';
Col2 = {'A','A','A','B','B','C','C','C','C'}.';
Col3 = [0.48,0.78,0.58,0.01,0.53,0.26,0.93,0.69,0.45].';
Col4 = [0.95,0.29,0.90,0.72,0.07,0.23,0.81,0.22,0.88].';

T = table( Col1, Col2, Col3, Col4 );

通过为第二个输入指定多个变量,可以使用
取消堆栈
功能来完成此操作

Col1 = [1,2,4,1,3,1,2,3,4].';
Col2 = {'A','A','A','B','B','C','C','C','C'}.';
Col3 = [0.48,0.78,0.58,0.01,0.53,0.26,0.93,0.69,0.45].';
Col4 = [0.95,0.29,0.90,0.72,0.07,0.23,0.81,0.22,0.88].';

T = table( Col1, Col2, Col3, Col4 );

tUnstack = unstack( T, {'Col3','Col4'}, 'Col2'  );
输出:

注意,在MATLAB中,表中不能有多个标题行。
unstack
函数将多个类别的标题名称(如上所示)连接起来,或者如果希望指定标题名称,可以使用另一个
'NewDataVariableNames'
参数

如果需要多个标题行,则必须解析出标题并将新数据存储在单元格数组中