table2struct

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

Описание

пример

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

пример

S = table2struct(T,'ToScalar',true) преобразует таблицу, T, к скалярной структуре S. Каждая переменная T становится полем в S. Если T является m-by- 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