ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

struct2table

構造体配列のテーブルへの変換

構文

T = struct2table(S)
T = struct2table(S,Name,Value)

説明

T = struct2table(S) は、構造体配列 S を table T に変換します。S の各フィールドは T の 1 つの変数になります。

T = struct2table(S,Name,Value) は、1 つ以上の Name,Value のペアの引数で指定された追加のオプションを使用して、構造体配列 S から table を作成します。

たとえば、テーブルに含める行名を指定できます。

すべて折りたたむ

既定のオプションを使用してスカラー構造体をテーブルに変換します。

構造体配列 S を作成します。

S.Name = {'CLARK';'BROWN';'MARTIN'};
S.Gender = {'M';'F';'M'};
S.SystolicBP = [124;122;130];
S.DiastolicBP = [93;80;92];

S
S = struct with fields:
           Name: {3x1 cell}
         Gender: {3x1 cell}
     SystolicBP: [3x1 double]
    DiastolicBP: [3x1 double]

スカラー構造体配列 S には 4 つのフィールドがあり、各フィールドが 3 つの行で構成されています。

構造体配列をテーブルに変換します。

T = struct2table(S)
T=3×4 table
      Name      Gender    SystolicBP    DiastolicBP
    ________    ______    __________    ___________

    'CLARK'      'M'         124            93     
    'BROWN'      'F'         122            80     
    'MARTIN'     'M'         130            92     

S の構造体のフィールド名が、出力テーブルでは変数名になります。T のサイズは 3 行 4 列です。

テーブル プロパティ T.Properties.RowNames を変更してから、変数 Name を削除して、 Name を変数名から行名に変更します。

T.Properties.RowNames = T.Name;
T.Name = [];

T
T=3×3 table
              Gender    SystolicBP    DiastolicBP
              ______    __________    ___________

    CLARK      'M'         124            93     
    BROWN      'F'         122            80     
    MARTIN     'M'         130            92     

非スカラー構造体配列 S を作成します。

S(1,1).Name = 'CLARK';
S(1,1).Gender = 'M';
S(1,1).SystolicBP = 124;
S(1,1).DiastolicBP = 93;

S(2,1).Name = 'BROWN';
S(2,1).Gender = 'F';
S(2,1).SystolicBP = 122;
S(2,1).DiastolicBP = 80;

S(3,1).Name = 'MARTIN';
S(3,1).Gender = 'M';
S(3,1).SystolicBP = 130;
S(3,1).DiastolicBP = 92;

S
S = 3x1 struct array with fields:
    Name
    Gender
    SystolicBP
    DiastolicBP

S は、フィールドが 4 個ある 3 行 1 列の構造体配列です。

構造体配列をテーブルに変換します。

T = struct2table(S)
T=3×4 table
      Name      Gender    SystolicBP    DiastolicBP
    ________    ______    __________    ___________

    'CLARK'      'M'         124            93     
    'BROWN'      'F'         122            80     
    'MARTIN'     'M'         130            92     

S の構造体のフィールド名が、出力テーブルでは変数名になります。T のサイズは 3 行 4 列です。

'AsArray',true を使用して、フィールドの行数が異なるスカラー構造体からテーブルを作成します。

namebilling および test という名前のフィールドをもつスカラー構造体 S を作成します。

S.name = 'John Doe';
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
S
S = struct with fields:
       name: 'John Doe'
    billing: 127
       test: [3x3 double]

これらのフィールドは行数が異なります。そのため、既定で 'AsArray',false を使用する struct2table(S) を使用することはできません。

スカラー構造体を配列として処理し、テーブルに変換します。

T = struct2table(S,'AsArray',true)
T=1×3 table
       name       billing        test    
    __________    _______    ____________

    'John Doe'      127      [3x3 double]

T には 1 つの行が含まれています。

入力引数

すべて折りたたむ

構造体配列。スカラー構造体配列として指定します。

  • Sn 個のフィールドをもつスカラー構造体で、それらすべてのフィールドが m 行をもつ場合、Tmn 列のテーブルになります。

  • S が、n 個のフィールドをもつ m1 列の非スカラー構造体である場合、Tmn 列のテーブルになります。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'RowNames',{'row1','row2','row3'} は、行名 row1row2 および row3 を table T に使用します。

T の行名。'RowNames' と、文字ベクトルの cell 配列、または string 配列 (それらの要素は空ではなく一意) で構成されるコンマ区切りのペアとして指定します。

スカラー構造体の処理方法のインジケーター。'AsArray' と、falsetrue0 または 1 で構成されるコンマ区切りのペアとして指定します。

true

struct2table は、S を 1 つの行と n 個の変数をもつテーブルに変換します。変数は異なるサイズにすることができます。

false

struct2table は、n 個のフィールドをもつスカラー構造体配列を mn 列のテーブルに変換します。各フィールドには、m 行が含まれていなければなりません。これは既定の動作です。

出力引数

すべて折りたたむ

テーブルとして返される出力テーブル。テーブルには、説明、変数単位、変数名、行名などのメタデータを保存できます。詳細については、table のプロパティの節を参照してください。

R2013b で導入