数据拼接,是将两个具有相同行数的表或DataFrame在水平方向拼接在一起组成一个新的表或DataFrame;或将两个具有相同列数的表或DataFrame在垂直方向拼接在一起组成一个新的表或DataFrame。[大谦MATLAB,dqmatlab点com]
MATLAB中水平方向拼接两个表,将它们用中括号放到一个数组中就可以了,将两个表的变量用空格间隔。注意,进行水平方向拼接的两个表必须具有相同的行数。
下面创建两个表T1和T2。
code.matlab
>> T1=table({'张三';'李四';'杨二';'王五'},[18;19;17;25],...
[162;169;164;167], [116;103;131;133],'VariableNames',...
{'Name' 'Age' 'Height' 'Weight'})
>> T2=table({'M';'M';'M';'M'},[0;0;0;1], ...
'VariableNames',{'Gender' 'Married'})
在水平方向上拼接T1和T2,组成新的表T。
code.matlab
>> T=[T1 T2]
T =
4×6 table
Name Age Height Weight Gender Married
________ ___ ______ ______ ______ _______
{'张三'} 18 162 116 {'M'} 0
{'李四'} 19 169 103 {'M'} 0
{'杨二'} 17 164 131 {'M'} 0
{'王五'} 25 167 133 {'M'} 1
MATLAB中垂直方向拼接两个表,将它们用中括号放到一个数组中就可以了,将两个表的变量用分号间隔。注意,进行垂向拼接的两个表必须具有相同的列数。
下面创建第1个表T1。
code.matlab
>> T1=table({'张三';'李四';'杨二';'王五'},[18;19;17;25],...
[162;169;164;167], [116;103;131;133],'VariableNames',...
{'Name' 'Age' 'Height' 'Weight'})
T1 =
4×4 table
Name Age Height Weight
________ ___ ______ ______
{'张三'} 18 162 116
{'李四'} 19 169 103
{'杨二'} 17 164 131
{'王五'} 25 167 133
下面创建第2个表T2。
code.matlab
>> Name={'韩英';'赵军';'余成';'黄丽'};
>> Age=[19;22;20;18];
>> Height=[173;168;171;167];
>> Weight=[93;121;113;101];
>> T2=table(Name,Age,Height,Weight)
T2 =
4×4 table
Name Age Height Weight
________ ___ ______ ______
{'韩英'} 19 173 93
{'赵军'} 22 168 121
{'余成'} 20 171 113
{'黄丽'} 18 167 101
垂向拼接两个表,组成新的表T。
code.matlab
>> T=[T1;T2]
T =
8×4 table
Name Age Height Weight
________ ___ ______ ______
{'张三'} 18 162 116
{'李四'} 19 169 103
{'杨二'} 17 164 131
{'王五'} 25 167 133
{'韩英'} 19 173 93
{'赵军'} 22 168 121
{'余成'} 20 171 113
{'黄丽'} 18 167 101