Documentation

This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

table2struct

Convert table to structure array

Syntax

• ``S = table2struct(T)``
example
• ``S = table2struct(T,'ToScalar',true)``
example

Description

example

````S = table2struct(T)` converts the table, `T`, to a structure array, `S`. Each variable of `T` becomes a field in `S`. If `T` is an `m`-by-`n` table, then `S` is a `m`-by-1 structure array with `n` fields.```

example

````S = table2struct(T,'ToScalar',true)` converts the table, `T`, to a scalar structure `S`. Each variable of `T` becomes a field in `S`. If `T` is a `m`-by-`n` table, then `S` has `n` fields, each of which has `m` rows.```

Examples

collapse all

Create a table, `T`, with five rows and three variables.

```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 = Gender Age BloodPressure ______ ___ _____________ M 38 124 93 M 43 109 77 F 38 125 83 F 40 117 75 F 49 122 80 ```

Convert `T` to a structure array.

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

The structure is 5-by-1, corresponding to the five rows of the table, `T`. The three fields of `S` correspond to the three variables from `T`.

Display the field data for the first element of `S`.

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

The information corresponds to the first row of the table.

Create a table, `T`, with five rows and three variables.

```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 = Gender Age BloodPressure ______ ___ _____________ M 38 124 93 M 43 109 77 F 38 125 83 F 40 117 75 F 49 122 80 ```

Convert `T` to a scalar structure.

```S = table2struct(T,'ToScalar',true) ```
```S = struct with fields: Gender: [5×1 categorical] Age: [5×1 double] BloodPressure: [5×2 double] ```

The data in the fields of the scalar structure are 5-by-1, corresponding to the five rows in the table `T`.

Display the data for the field `BloodPressure`.

```S.BloodPressure ```
```ans = 124 93 109 77 125 83 117 75 122 80 ```

The structure field `BloodPressure` contains all of the data that was in the variable of the same name from table `T`.

Create a table, `T`, that includes row names.

```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 = 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 ```

Convert `T` to a scalar structure.

```S = table2struct(T,'ToScalar',true) ```
```S = struct with fields: Gender: [5×1 categorical] Age: [5×1 double] BloodPressure: [5×2 double] ```

Add a field for the row names from the table.

```S.RowNames = T.Properties.RowNames ```
```S = struct with fields: Gender: [5×1 categorical] Age: [5×1 double] BloodPressure: [5×2 double] RowNames: {5×1 cell} ```

If `S` is a nonscalar structure, use `[S.RowNames] = T.Properties.RowNames{:}` to include a field with the row names from the table.

Input Arguments

collapse all

Input table, specified as a table.