exponenta event banner

mergevars

Объединение переменных таблицы или расписания в переменные с несколькими столбцами

Описание

пример

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

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

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

пример

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

пример

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