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
⋮
从电子表格中读取表。要指定从电子表格中读取的列的数据类型,请使用导入选项对象。显示输出表的前八行。
opts = detectImportOptions("outages.csv"); opts.VariableTypes = ["categorical","datetime","double", ... "double","datetime","categorical"]; T1 = readtable("outages.csv",opts)
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")
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: T2 = mergevars(T1,vars,"MergeAsTable",true)
合并变量的名称,指定为字符向量或字符串标量。
将变量合并到表中的标志,指定为数值或逻辑值 1
(true
) 或 0
(false
)。将此标志设置为 true
或 1
可将指定的变量合并到一个表中,而该表嵌套在输出表的一个变量中。使用此参量合并不能串联成数组的变量。
默认值 false
会导致 mergevars
将指定的变量合并到一个多列数组中,而该数组是输出表的一个变量。
扩展功能
mergevars
函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
vars
输入参量不支持模式表达式。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 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)