堆叠表变量
在实时编辑器中将多个表变量的值合并到一个表变量中
说明
堆叠表变量任务使您能够以交互方式将多个表或时间表变量中的值堆叠到一个变量中。该任务会自动为您的实时脚本生成 MATLAB® 代码。生成代码使用 stack 函数。
堆叠变量意味着对指定变量中的值进行交错,形成一个输出变量。堆叠还会向输出添加一个指示变量。在输出的每一行中,指示变量的值指示输入的哪个变量提供了这些数据。下图显示堆叠表的结果。

打开任务
要在 MATLAB 编辑器中将堆叠表变量任务添加到实时脚本中,请执行以下操作:
在实时编辑器选项卡上,选择任务 > 堆叠表变量。
或者,在脚本的代码块中,键入相关关键字,例如
stack。从建议的命令自动填充项中选择堆叠表变量。
示例
此示例说明如何使用堆叠表变量实时编辑器任务来堆叠变量。它从一个输入表中的多个变量中获取值,并将它们合并到输出表中的一个变量中。
首先,从样本文件中加载表格,该表格列出了经历电力中断的电力公司客户的数量。样本数据按月汇总。该电力公司为美国的三个区域提供电力服务。因此有三个变量:NorthEast、MidWest 和 SouthEast,这三个变量分别列出了每个区域受影响的客户数量。
load customersByRegion.mat
customersByRegioncustomersByRegion=6×4 table
Month NorthEast MidWest SouthEast
_____________ _________ _______ _________
October-2023 3492 565 1027
November-2023 2944 1293 834
December-2023 2559 936 1412
January-2024 12045 50117 0
February-2024 4931 1089 137
March-2024 3018 942 870
将客户断电数据进行堆叠,使 NorthEast、MidWest 和 SouthEast 变量都放入输出表的一个变量中。
将堆叠表变量任务添加到您的实时脚本中。
要将
Month变量的值复制到输出表的行中,请在任务中从其上方的下拉列表中选择Constant。要通过将来自
NorthEast、MidWest和SouthEast变量的值堆叠到输出的一个变量中对这些值进行合并,请为每个变量选择Stack。
输出中堆叠变量的名称来自各输入变量名称的组合。
该任务还将输入变量的名称堆叠到一个名为 NorthEast_MidWest_SouthEast_Indicator 的新变量中,指示客户断电数据所在的区域。
stackedTable=18×3 table
Month NorthEast_MidWest_SouthEast_Indicator NorthEast_MidWest_SouthEast
_____________ _____________________________________ ___________________________
October-2023 NorthEast 3492
October-2023 MidWest 565
October-2023 SouthEast 1027
November-2023 NorthEast 2944
November-2023 MidWest 1293
November-2023 SouthEast 834
December-2023 NorthEast 2559
December-2023 MidWest 936
December-2023 SouthEast 1412
January-2024 NorthEast 12045
January-2024 MidWest 50117
January-2024 SouthEast 0
February-2024 NorthEast 4931
February-2024 MidWest 1089
February-2024 SouthEast 137
March-2024 NorthEast 3018
⋮
为输出表的变量赋予更有意义的名称。要重命名表变量,请使用 renamevars 函数。
customersOutage = renamevars(stackedTable, ... ["NorthEast_MidWest_SouthEast_Indicator" "NorthEast_MidWest_SouthEast"], ... ["Region" "CustomersOutage"])
customersOutage=18×3 table
Month Region CustomersOutage
_____________ _________ _______________
October-2023 NorthEast 3492
October-2023 MidWest 565
October-2023 SouthEast 1027
November-2023 NorthEast 2944
November-2023 MidWest 1293
November-2023 SouthEast 834
December-2023 NorthEast 2559
December-2023 MidWest 936
December-2023 SouthEast 1412
January-2024 NorthEast 12045
January-2024 MidWest 50117
January-2024 SouthEast 0
February-2024 NorthEast 4931
February-2024 MidWest 1089
February-2024 SouthEast 137
March-2024 NorthEast 3018
⋮
相关示例
参数
从工作区中所有非空表和时间表的列表中指定输入表或时间表的名称。
为输入表或时间表中的每个变量指定要采取的动作。堆叠变量时,有三种可能的动作:
常量 - 将变量复制到输出表或时间表中。在输出的行中所需的位置复制其值。
堆叠 - 将变量中的值堆叠到输出的一个变量中。例如,如果您选择堆叠三个变量,其所有值都将放入输出的一个变量中。
放弃 - 从输出中排除变量及其值。
版本历史记录
在 R2020a 中推出如果输入包含的元素超过一百万个,则此实时编辑器任务不会自动运行。在以前的版本中,对于任何大小的输入,该任务始终自动运行。如果输入包含大量元素,则由此任务生成的代码可能需要相当长的时间来运行(超过几秒)。
当任务不自动运行时,自动运行指示符会被禁用。您可以在需要时手动运行任务,也可以选择启用任务自动运行。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
