matlab - 在 Matlab 中取消堆叠多个列
问题描述
如何在matlab中取消堆叠数据?for 表只允许我为一列执行此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 );
解决方案
您可以unstack
通过为第二个输入指定多个变量来使用该函数执行此操作
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'
如果您希望指定它们,可以采用附加参数。
如果您需要多个标题行,则必须解析标题并将新数据存储在一个元胞数组中。
推荐阅读
- ios - 如何使 CAGradientLayer 遵循 CGPath
- ruby-on-rails - 在 Rails 应用程序视图中查找 n+1 个查询的方法?
- sql-server - T SQL - 统计连续 3 个月访问的人数
- ios - 为 iOS 网络请求启用跨站点跟踪
- javascript - 来自 Leaflet 的 isOpen 不响应新状态
- c++ - clang - shared_ptr 无法运行其删除程序
- java - 将 Spark 数据集转换为 JSON 并写入 Kafka Producer
- c++ - 如何从网络逻辑磁盘名称获取物理磁盘索引?
- java - 无法使用 GSON 解析/读取 JSON
- java - Spring WebFlux - WebFilter 中的 statusCode 为空