数据拼接

数据拼接,是将两个具有相同行数的表或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