exponenta event banner

table2struct

Преобразовать таблицу в массив структуры

Описание

пример

S = table2struct(T) преобразует таблицу, T, к массиву структуры, S. Каждая переменная T становится полем в S. Если T является mоколо-n таблица, затем S является m-by-1 структурный массив с n поля.

пример

S = table2struct(T,'ToScalar',true) преобразует таблицу, T, в скалярную структуру S. Каждая переменная T становится полем в S. Если T является mоколо-n таблица, затем S имеет n поля, каждое из которых имеет m строк.

Примеры

свернуть все

Создание таблицы, T, с пятью строками и тремя переменными.

T = table(categorical({'M';'M';'F';'F';'F'}),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',{'Gender' 'Age' 'BloodPressure'})
T=5×3 table
    Gender    Age    BloodPressure
    ______    ___    _____________

      M       38      124     93  
      M       43      109     77  
      F       38      125     83  
      F       40      117     75  
      F       49      122     80  

Новообращенный T к массиву структуры.

S = table2struct(T)
S=5×1 struct array with fields:
    Gender
    Age
    BloodPressure

Структура - 5 на 1, соответствует пяти строкам таблицы, T. Три поля S соответствуют трем переменным из T.

Просмотр данных поля для первого элемента S.

S(1)
ans = struct with fields:
           Gender: M
              Age: 38
    BloodPressure: [124 93]

Информация соответствует первой строке таблицы.

Создание таблицы, T, с пятью строками и тремя переменными.

T = table(categorical({'M';'M';'F';'F';'F'}),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',{'Gender' 'Age' 'BloodPressure'})
T=5×3 table
    Gender    Age    BloodPressure
    ______    ___    _____________

      M       38      124     93  
      M       43      109     77  
      F       38      125     83  
      F       40      117     75  
      F       49      122     80  

Новообращенный T в скалярную структуру.

S = table2struct(T,'ToScalar',true)
S = struct with fields:
           Gender: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]

Данные в полях скалярной структуры 5 на 1, соответствующие пяти строкам в таблице T.

Просмотр данных для поля BloodPressure.

S.BloodPressure
ans = 5×2

   124    93
   109    77
   125    83
   117    75
   122    80

Поле структуры BloodPressure содержит все данные, которые были в переменной с тем же именем из таблицы T.

Создание таблицы, T, которая включает имена строк.

T = table(categorical({'M';'M';'F';'F';'F'}),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',{'Gender' 'Age' 'BloodPressure'},...
    'RowNames',{'Smith' 'Johnson' 'Williams' 'Jones' 'Brown'})
T=5×3 table
                Gender    Age    BloodPressure
                ______    ___    _____________

    Smith         M       38      124     93  
    Johnson       M       43      109     77  
    Williams      F       38      125     83  
    Jones         F       40      117     75  
    Brown         F       49      122     80  

Новообращенный T в скалярную структуру.

S = table2struct(T,'ToScalar',true)
S = struct with fields:
           Gender: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]

Добавьте поле для имен строк из таблицы.

S.RowNames = T.Properties.RowNames
S = struct with fields:
           Gender: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]
         RowNames: {5x1 cell}

Если S является нескалярной структурой, использование [S.RowNames] = T.Properties.RowNames{:} для включения поля с именами строк из таблицы.

Входные аргументы

свернуть все

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

Если T имеет переменные, имена которых не являются допустимыми идентификаторами MATLAB ®, тоtable2struct изменяет их для создания допустимых имен полей, прежде всего путем удаления пробелов и замены символов, не относящихся к ASCII, символами подчеркивания.

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

.
Представлен в R2013b