mergevars

Объедините переменные таблицы или расписания в многополюсную переменную

Описание

пример

T2 = mergevars(T1,vars) объединяет табличные переменные, заданные как vars чтобы создать одну многополюсную переменную в T2 (см. схему). Все другие переменные из T1 не изменяются. Вы можете задать переменные по имени, по положению или с помощью логических индексов.

По умолчанию имя объединенной переменной в T2 принимает форму Var N, где N - положение объединенной переменной. Для примера, если объединенная переменная является третьей переменной в T2, тогда его имя Var3.

Чтобы разделить многополюсные переменные, используйте splitvars функция.

пример

T2 = mergevars(T1,vars,'NewVariableName',newName) задает имя многополюсной переменной.

пример

T2 = mergevars(___,'MergeAsTable',true) объединяет указанные переменные в таблицу вместо массива. Новая таблица сама по себе является переменным выходом таблицы T2. Используйте этот синтаксис для объединения переменных, которые не могут быть объединены в массив. Можно использовать этот синтаксис с любым из входных параметров из предыдущих синтаксисов.

Примеры

свернуть все

Составьте таблицу из переменных рабочей области.

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(LastName,Gender,Age,Height,Weight,Systolic,Diastolic);
head(T1,3)
ans=3×7 table
      LastName        Gender      Age    Height    Weight    Systolic    Diastolic
    ____________    __________    ___    ______    ______    ________    _________

    {'Smith'   }    {'Male'  }    38       71       176        124          93    
    {'Johnson' }    {'Male'  }    43       69       163        109          77    
    {'Williams'}    {'Female'}    38       64       131        125          83    

Объедините переменные Systolic и Diastolic в одну переменную с двумя столбцами. Назовите BloodPressure.

T2 = mergevars(T1,{'Systolic','Diastolic'},'NewVariableName','BloodPressure');
head(T2,3)
ans=3×6 table
      LastName        Gender      Age    Height    Weight    BloodPressure
    ____________    __________    ___    ______    ______    _____________

    {'Smith'   }    {'Male'  }    38       71       176       124     93  
    {'Johnson' }    {'Male'  }    43       69       163       109     77  
    {'Williams'}    {'Female'}    38       64       131       125     83  

Чтение в таблице из электронной таблицы. Отобразите первые три строки.

T1 = readtable('outages.csv');
head(T1,3)
ans =

  3x6 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'}

Объедините Cause, Loss, и RestorationTime. Поскольку эти переменные имеют различные типы, объедините их в таблицу в таблице.

T2 = mergevars(T1,{'Cause','Loss','RestorationTime'},...
               'NewVariableName','LossData','MergeAsTable',true);
head(T2,3)
ans =

  3x4 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

Входные параметры

свернуть все

Входная таблица, заданная как таблица или расписание.

Переменные в таблице входы, заданные как вектор символов, массив ячеек векторов символов, строковые массивы, числовой массив или логический массив.

Имя объединенной переменной, заданное как вектор символов или строковый скаляр.

Расширенные возможности

Введенный в R2018a