mergevars
将表或时间表变量合并成多列变量
说明
可在前面语法中的输入参量外使用一个或多个名称-值参量来指定选项。例如,要指定合并变量的名称,请将 T2 = mergevars(T1,vars,Name=Value)NewVariableName 设置为您指定的名称。
示例
使用工作区变量创建一个表。
A = [1:3]'; B = [5 11 12]'; C = [3.14 2.72 1.37]'; D = ["a";"b";"c"]; T1 = table(A,B,C,D)
T1=3×4 table
A B C D
_ __ ____ ___
1 5 3.14 "a"
2 11 2.72 "b"
3 12 1.37 "c"
合并第二个和第三个变量。新的变量有两列。
T2 = mergevars(T1,[2 3])
T2=3×3 table
A Var2 D
_ __________ ___
1 5 3.14 "a"
2 11 2.72 "b"
3 12 1.37 "c"
使用 patients.mat 文件中的数据数组创建一个表。
load patients
T1 = table(Age,Height,Weight,Systolic,Diastolic)T1=100×5 table
Age Height Weight Systolic Diastolic
___ ______ ______ ________ _________
38 71 176 124 93
43 69 163 109 77
38 64 131 125 83
40 67 133 117 75
49 64 119 122 80
46 68 142 121 70
33 64 142 130 88
40 68 180 115 82
28 68 183 115 78
31 66 132 118 86
45 68 128 114 77
42 66 137 115 68
25 71 174 127 74
39 72 202 130 95
36 65 129 114 79
48 71 181 130 92
⋮
将变量 Systolic 和 Diastolic 合并成一个具有两列的变量。将其命名为 BloodPressure。
T2 = mergevars(T1,["Systolic" "Diastolic"], ... NewVariableName="BloodPressure")
T2=100×4 table
Age Height Weight BloodPressure
___ ______ ______ _____________
38 71 176 124 93
43 69 163 109 77
38 64 131 125 83
40 67 133 117 75
49 64 119 122 80
46 68 142 121 70
33 64 142 130 88
40 68 180 115 82
28 68 183 115 78
31 66 132 118 86
45 68 128 114 77
42 66 137 115 68
25 71 174 127 74
39 72 202 130 95
36 65 129 114 79
48 71 181 130 92
⋮
从电子表格中读取表。
T1 = readtable("outages.csv",TextType="string")
T1=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________
"SouthWest" 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 "winter storm"
"SouthEast" 2003-01-23 00:49 530.14 2.1204e+05 NaT "winter storm"
"SouthEast" 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 "winter storm"
"West" 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 "equipment fault"
"MidWest" 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 "severe storm"
"West" 2003-06-18 02:49 0 0 2003-06-18 10:54 "attack"
"West" 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 "equipment fault"
"West" 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 "equipment fault"
"NorthEast" 2003-07-16 16:23 239.93 49434 2003-07-17 01:12 "fire"
"MidWest" 2004-09-27 11:09 286.72 66104 2004-09-27 16:37 "equipment fault"
"SouthEast" 2004-09-05 17:48 73.387 36073 2004-09-05 20:46 "equipment fault"
"West" 2004-05-21 21:45 159.99 NaN 2004-05-22 04:23 "equipment fault"
"SouthEast" 2002-09-01 18:22 95.917 36759 2002-09-01 19:12 "severe storm"
"SouthEast" 2003-09-27 07:32 NaN 3.5517e+05 2003-10-04 07:02 "severe storm"
"West" 2003-11-12 06:12 254.09 9.2429e+05 2003-11-17 02:04 "winter storm"
"NorthEast" 2004-09-18 05:54 0 0 NaT "equipment fault"
⋮
合并 Cause、Loss 和 RestorationTime。由于这些变量具有不同数据类型,因此将它们合并到嵌套在输出表中的一个表中。
T2 = mergevars(T1,["Cause" "Loss" "RestorationTime"], ... NewVariableName="LossData",MergeAsTable=true)
T2=1468×4 table
Region OutageTime Customers LossData
___________ ________________ __________ _______________________________________________
Cause Loss RestorationTime
_________________ ______ ________________
"SouthWest" 2002-02-01 12:18 1.8202e+06 "winter storm" 458.98 2002-02-07 16:50
"SouthEast" 2003-01-23 00:49 2.1204e+05 "winter storm" 530.14 NaT
"SouthEast" 2003-02-07 21:15 1.4294e+05 "winter storm" 289.4 2003-02-17 08:14
"West" 2004-04-06 05:44 3.4037e+05 "equipment fault" 434.81 2004-04-06 06:10
"MidWest" 2002-03-16 06:18 2.1275e+05 "severe storm" 186.44 2002-03-18 23:23
"West" 2003-06-18 02:49 0 "attack" 0 2003-06-18 10:54
"West" 2004-06-20 14:39 NaN "equipment fault" 231.29 2004-06-20 19:16
"West" 2002-06-06 19:28 NaN "equipment fault" 311.86 2002-06-07 00:51
"NorthEast" 2003-07-16 16:23 49434 "fire" 239.93 2003-07-17 01:12
"MidWest" 2004-09-27 11:09 66104 "equipment fault" 286.72 2004-09-27 16:37
"SouthEast" 2004-09-05 17:48 36073 "equipment fault" 73.387 2004-09-05 20:46
"West" 2004-05-21 21:45 NaN "equipment fault" 159.99 2004-05-22 04:23
"SouthEast" 2002-09-01 18:22 36759 "severe storm" 95.917 2002-09-01 19:12
"SouthEast" 2003-09-27 07:32 3.5517e+05 "severe storm" NaN 2003-10-04 07:02
"West" 2003-11-12 06:12 9.2429e+05 "winter storm" 254.09 2003-11-17 02:04
"NorthEast" 2004-09-18 05:54 0 "equipment fault" 0 NaT
⋮
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
示例: T2 = mergevars(T1,vars,NewVariableName="MergedResults")
合并变量的名称,指定为字符串标量或字符向量。
将变量合并到表中的标志,指定为数值或逻辑值 1 (true) 或 0 (false)。将此标志设置为 true 或 1 可将指定的变量合并到一个表中,而该表嵌套在输出表的一个变量中。使用此参量合并不能串联成数组的变量。
默认值 false 会导致 mergevars 将指定的变量合并到一个多列数组中,而该数组是输出表的一个变量。
输出参量
具有合并变量的输出表,以表或时间表形式返回。
扩展功能
mergevars 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
vars输入参量不支持模式表达式。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
mergevars 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2018a 中推出
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)
