ドキュメンテーション

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

table

異なる型を含むことができる名前付き変数をもつ table 配列

説明

配列 table は、テキスト ファイルやスプレッドシートの列など、列方向データや表形式データを格納します。table は、"変数" にそれぞれの列方向データを格納します。table 変数は、すべての変数の行数が同じであれば、データ型とサイズはそれぞれ異なっていてもかまいません。関数 summary を使用して、table に関する情報を取得します。

table の内容をインデックスで参照するには、小かっこ () を使用してサブテーブルを返すか、または中かっこ {} を使用して内容を抽出します。名前を使用して変数と行を参照できます。番号と名前をインデックスとして使用する参照の詳細については、テーブル内のデータへのアクセスを参照してください。

作成

ファイルからデータを table に読み取るには、関数 Import Tool または関数 readtable を使用できます。あるいは、以下に説明する関数 table を使用して、既存のワークスペース変数から table を作成します。

また、後で値を入力する変数用にスペースを許容する table を作成することもできます。変数用にスペースが事前に割り当てられた table を作成するには、後述のとおり、関数 table'Size' を最初の入力引数として指定します。

構文

T = table(var1,...,varN)
T = table('Size',sz,'VariableTypes',varTypes)
T = table(___,'VariableNames',varNames)
T = table(___,'RowNames',rowNames)
T = table

説明

T = table(var1,...,varN) は、入力変数 var1,...,varN から table を作成します。変数にはさまざまなサイズとデータ型を使用できます。ただし、すべての変数に同じ数の行がなければなりません。

T = table('Size',sz,'VariableTypes',varTypes) は、table を作成し、指定のデータ型の変数用にスペースを事前に割り当てます。sz は 2 要素の数値配列で、sz[1] は行数を指定し、sz[2] は変数の数を指定します。varTypes はデータ型を指定する文字ベクトルの cell 配列です。

T = table(___,'VariableNames',varNames) は、出力 table の変数名を指定します。この構文は、この関数に対する任意の構文から入力引数を使用できます。

T = table(___,'RowNames',rowNames) は、出力 table の行の名前を指定します。この構文では、前述のいずれかの構文の入力引数を使用できます。

T = table は、0 行 0 列の空の table を作成します。

入力引数

すべて展開する

入力変数。同じ数の行をもつ配列として指定します。入力変数には、さまざまなサイズとデータ型を使用できます。

一般的な入力変数は、数値配列、logical 配列、文字配列、構造体配列または cell 配列です。入力変数には、配列のオブジェクトを使用することもできます。この配列は var(index1,...,indexN) の形式のインデックスをサポートしていなければなりません。index1 は変数 var の行に対応する数値または logical ベクトルです。さらにこの配列は、vertcat メソッドと、dim 引数をもつ size メソッドの両方を実装していなければなりません。

例: table([1:4]',ones(4,3,2),eye(4,2)) は、サイズが異なる 4 行の変数から table を作成します。

例: table([1:3]',{'one';'two';'three'},categorical({'A';'B';'C'})) は、データ型が異なる 3 つの行をもつ変数から table を作成します。

事前に割り当てられる table のサイズ。2 要素の数値ベクトルとして指定します。sz の最初の要素は行数を指定し、2 番目の要素は table 変数の数を指定します。

行を作成せずに変数のみを作成するには、sz の最初の要素を 0 に指定します。

例: T = table('Size',[50 3],'VariableTypes',{'string','double','datetime'}) は、string 配列、double 配列、datatime 配列を含む table に 50 行を事前に割り当てます。

例: T = table('Size',[0 4],'VariableTypes',varTypes) は、行数 0 と変数 4 つを指定します。

事前に割り当てられる table 内の変数のデータ型。文字ベクトルの cell 配列として指定します。varTypes で指定する型の数は、sz の 2 番目の要素で指定する変数の数と等しくなければなりません。

データ型として 'char' を指定した場合、table は対応する変数を文字配列ではなく文字ベクトルの cell 配列として事前に割り当てます。文字配列である table 変数の作成は回避することをお勧めします。table または timetable 内のテキスト データを扱う際には、string 配列または categorical 配列を使用することを検討してください。

varTypes には、次の表に示す名前を含む、任意のデータ型の名前を格納できます。

'single'単精度数
'double'倍精度数
'int8'符号付き 8 ビット整数
'int16'符号付き 16 ビット整数
'int32'符号付き 32 ビット整数
'int64'符号付き 64 ビット整数
'uint8'符号なしの 8 ビット整数
'uint16'符号なしの 16 ビット整数
'uint32'符号なしの 32 ビット整数
'uint64'符号なしの 64 ビット整数
'logical'logical 1 (true) または 0 (false)
'char'文字
'string'string 配列
'struct'構造体配列
'cell'cell 配列
'table'テーブル
'function_handle'関数ハンドル

出力 table 内の変数名。文字ベクトルの cell 配列として指定します。varNames 内の名前の数は変数の数と等しくなければなりません。

出力 table の行の名前。文字ベクトルの cell 配列として指定します。rowNames 内の名前の数は行数と等しくなければなりません。

例: T = table([10;20;30],{'M';'F';'F'},'VariableNames',{'Age','Gender'},'RowNames',{'P1','P2','P3'}) は、変数名と行の名前の両方をもつ table を作成します。

プロパティ

すべて展開する

table のメタデータ プロパティにアクセス

table には、table とその変数について記述するメタデータ プロパティがあります。これらのプロパティにアクセスするには、構文 tableName.Properties.PropertyName を使用します。ここで、PropertyName はプロパティの名前です。たとえば、構文 T.Properties.VariableNames を使用すると、テーブル T 内の変数の名前にアクセスできます。

構文 tableName.Properties を使用すると、すべてのメタデータ プロパティの概要を返すことができます。

table のデータにはドット構文を使用して直接アクセスできるため、Properties プロパティを使って table のメタデータにアクセスすることが可能です。たとえば、table TVar1 という名前の変数がある場合、構文 T.Var1 を使用してこの変数に配列としてアクセスできます。

table メタデータ

次元名。文字ベクトルの 2 要素 cell 配列として指定します。

2 つの次元名を使用して table のデータにアクセスできます。table に行名があり、ドット構文と最初の次元名を使用する場合、行名にベクトルとしてアクセスできます。ドット構文と 2 番目の次元名を使用する場合、{:,:} 構文を使用して timetable のインデックスを指定したかのように、すべての変数のデータが 1 つの配列に連結されます。

table を作成して、その次元名を表示します。次元名をドット構文で使用して、行名とデータにアクセスすることができます。

load patients
T = table(Age,Height,Weight,Systolic,Diastolic, ...
          'RowNames',LastName);
T.Properties.DimensionNames
ans = 1×2 cell array
    {'Row'}    {'Variables'}

最初の次元名を使用して行名にアクセスします。最初の 5 つの名前を表示します。

T.Row(1:5)
ans = 5×1 cell array
    {'Smith'   }
    {'Johnson' }
    {'Williams'}
    {'Jones'   }
    {'Brown'   }

2 番目の次元名を使用してデータにアクセスします。この構文は T{:,:} と等価です。

T.Variables
ans = 100×5

    38    71   176   124    93
    43    69   163   109    77
    38    64   131   125    83
    40    67   133   117    75
    49    64   119   122    80
    46    68   142   121    70
    33    64   142   130    88
    40    68   180   115    82
    28    68   183   115    78
    31    66   132   118    86
      ⋮

Properties.DimensionNames プロパティを使用して、次元の名前を変更します。次元名を変更したら、構文 T.Patient および T.Data を使用して、行時間とデータにそれぞれアクセスできます。

T.Properties.DimensionNames = {'Patient','Data'};
T.Properties
ans = struct with fields:
             Description: ''
                UserData: []
          DimensionNames: {'Patient'  'Data'}
           VariableNames: {'Age'  'Height'  'Weight'  'Systolic'  'Diastolic'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {100×1 cell}

行名。空ではない一意の文字ベクトルの cell 配列として指定します。RowNames が空でない場合、文字ベクトルの数は table の行数と等しくなければなりません。MATLAB® は、文字ベクトルから先頭と末尾の空白をすべて削除します。

行名は、table を表示すると可視化されます。また、行名をかっこ内または中かっこ内で使用して table データにアクセスできます。

行名にアクセスするもうひとつの方法では、ドット構文で table の最初の次元の名前を使用します。

テーブルを作成します。次に、行名を追加してその名前で行にアクセスします。

load patients
T = table(Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);

Properties.RowNames プロパティを使用して行名を追加します。既定では table に行名はありませんが、随時追加することができます。

T.Properties.RowNames = LastName;
head(T,4)
ans=4×7 table
                 Gender     Age    Height    Weight    Smoker    Systolic    Diastolic
                ________    ___    ______    ______    ______    ________    _________

    Smith       'Male'      38       71       176      true        124          93    
    Johnson     'Male'      43       69       163      false       109          77    
    Williams    'Female'    38       64       131      false       125          83    
    Jones       'Female'    40       67       133      false       117          75    

行名にアクセスするもうひとつの方法では、ドット構文で table の最初の次元名を使用します。最初の 5 つの行名を表示します。

T.Properties.DimensionNames
ans = 1×2 cell array
    {'Row'}    {'Variables'}

T.Row(1:5)
ans = 5×1 cell array
    {'Smith'   }
    {'Johnson' }
    {'Williams'}
    {'Jones'   }
    {'Brown'   }

行名によって table にインデックスを付けます。

T({'Smith','Williams'},:)
ans=2×7 table
                 Gender     Age    Height    Weight    Smoker    Systolic    Diastolic
                ________    ___    ______    ______    ______    ________    _________

    Smith       'Male'      38       71       176      true        124          93    
    Williams    'Female'    38       64       131      false       125          83    

table の説明。文字ベクトルとして指定します。この説明は、関数 summary を使用すると表示されます。

テーブルを作成します。table の説明を変更します。結果の概要を表示します。

load patients
T = table(Gender,Age,Height,Weight);
T.Properties.Description = 'Simulated patient data';
summary(T)
Description:  Simulated patient data

Variables:

    Gender: 100×1 cell array of character vectors

    Age: 100×1 double

        Values:

            Min        25  
            Median     39  
            Max        50  

    Height: 100×1 double

        Values:

            Min          60   
            Median       67   
            Max          72   

    Weight: 100×1 double

        Values:

            Min          111  
            Median     142.5  
            Max          202  

追加の table 情報。配列として指定します。このプロパティを使用すると、任意の種類のデータを table に付加できます。

テーブルを作成します。table に関連するユーザー データの一部として無名関数を付加します。

load patients
T = table(Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
formula = @(x) x.^2;
T.Properties.UserData = formula;
T.Properties
ans = struct with fields:
             Description: ''
                UserData: @(x)x.^2
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'Gender'  'Age'  'Height'  'Weight'  'Smoker'  'Systolic'  'Diastolic'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}

変数のメタデータ

変数名。空ではない一意の文字ベクトルの cell 配列として指定します。変数名は有効な MATLAB 識別子でなければなりません。有効な変数名は、関数 isvarname を使用して判別できます。MATLAB は文字ベクトルから先頭や末尾の空白をすべて削除します。文字ベクトルの数は変数の数と等しくなければなりません。

変数名を指定しない場合、または無効な識別子を指定した場合、MATLAB は N 個の文字ベクトルの cell 配列を、{'Var1' ... 'VarN'} という形式で返します。ここで、N は変数の数です。

変数名は、table を表示するか、関数 summary を使用すると表示されます。また、変数名をかっこ内、中かっこ内またはドット インデックス付きで使用して table データにアクセスできます。

既定の変数名で table を作成します。次に、Properties.VariableNames プロパティを使用して名前を変更します。

T = table({'M';'M';'F';'F';'F'},[38;43;38;40;49], ...
          [71;69;64;67;64],[176;163;131;133;119])
T=5×4 table
    Var1    Var2    Var3    Var4
    ____    ____    ____    ____

    'M'      38      71     176 
    'M'      43      69     163 
    'F'      38      64     131 
    'F'      40      67     133 
    'F'      49      64     119 

T.Properties.VariableNames = {'Gender','Age','Height','Weight'}
T=5×4 table
    Gender    Age    Height    Weight
    ______    ___    ______    ______

     'M'      38       71       176  
     'M'      43       69       163  
     'F'      38       64       131  
     'F'      40       67       133  
     'F'      49       64       119  

変数を表示および変更するための基本的な方法は、ドット構文を使用して名前により変数にアクセスすることです。

T.Age
ans = 5×1

    38
    43
    38
    40
    49

T.Age(1) = 53
T=5×4 table
    Gender    Age    Height    Weight
    ______    ___    ______    ______

     'M'      53       71       176  
     'M'      43       69       163  
     'F'      38       64       131  
     'F'      40       67       133  
     'F'      49       64       119  

変数の説明。文字ベクトルの cell 配列として指定します。このプロパティには空の cell 配列を指定できます。これは既定値です。cell 配列が空でない場合、変数と同じ数の文字ベクトルがなければなりません。説明がない変数について、cell 配列内に空の文字ベクトルを個別に指定できます。

変数の説明は、関数 summary を使用すると表示されます。

テーブルを作成します。変数の説明を変更します。結果の概要を表示します。

load patients
T = table(Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
T.Properties.VariableDescriptions = {'','','','', ...
                                     'Has the patient ever been a smoker', ...
                                     'Systolic Pressure','Diastolic Pressure'};
summary(T)
Variables:

    Gender: 100×1 cell array of character vectors

    Age: 100×1 double

        Values:

            Min        25  
            Median     39  
            Max        50  

    Height: 100×1 double

        Values:

            Min          60   
            Median       67   
            Max          72   

    Weight: 100×1 double

        Values:

            Min          111  
            Median     142.5  
            Max          202  

    Smoker: 100×1 logical

        Description:  Has the patient ever been a smoker
        Values:

            True        34   
            False       66   

    Systolic: 100×1 double

        Description:  Systolic Pressure
        Values:

            Min          109    
            Median       122    
            Max          138    

    Diastolic: 100×1 double

        Description:  Diastolic Pressure
        Values:

            Min            68    
            Median       81.5    
            Max            99    

変数の単位。文字ベクトルの cell 配列として指定します。このプロパティには空の cell 配列を指定できます。これは既定値です。cell 配列が空でない場合、変数と同じ数の文字ベクトルがなければなりません。単位がない変数について、cell 配列内に空の文字ベクトルを個別に指定できます。

変数の単位は、関数 summary を使用すると表示されます。

テーブルを作成します。変数の単位を変更します。結果の概要を表示します。

load patients
T = table(Gender,Age,Height,Weight,Smoker,Systolic,Diastolic);
T.Properties.VariableUnits = {'','Yrs','In','Lbs','','mm Hg','mm Hg'};
summary(T)
Variables:

    Gender: 100×1 cell array of character vectors

    Age: 100×1 double

        Units:  Yrs
        Values:

            Min        25  
            Median     39  
            Max        50  

    Height: 100×1 double

        Units:  In
        Values:

            Min          60   
            Median       67   
            Max          72   

    Weight: 100×1 double

        Units:  Lbs
        Values:

            Min          111  
            Median     142.5  
            Max          202  

    Smoker: 100×1 logical

        Values:

            True        34   
            False       66   

    Systolic: 100×1 double

        Units:  mm Hg
        Values:

            Min          109    
            Median       122    
            Max          138    

    Diastolic: 100×1 double

        Units:  mm Hg
        Values:

            Min            68    
            Median       81.5    
            Max            99    

すべて折りたたむ

患者のグループに関するデータを table に保存します。計算を実行し、結果を同じ table に保存することができます。また、table には作業や table の変数について説明する注釈を付けることができます。

最初に、患者データをもつワークスペース変数を作成します。これらの変数には任意のデータ型を設定できますが、行数は同じでなければなりません。

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

テーブル T をワークスペース変数のコンテナーとして作成します。関数 table はワークスペース変数名を T の table 変数の名前として使用します。table 変数は複数の列をもつことができます。たとえば、T の変数 BloodPressure は 5 行 2 列の配列です。

T = table(LastName,Age,Smoker,Height,Weight,BloodPressure)
T=5×6 table
    LastName     Age    Smoker    Height    Weight    BloodPressure
    _________    ___    ______    ______    ______    _____________

    'Sanchez'    38     true        71       176       124     93  
    'Johnson'    43     false       69       163       109     77  
    'Li'         38     true        64       131       125     83  
    'Diaz'       40     false       67       133       117     75  
    'Brown'      49     true        64       119       122     80  

ドット インデックスを使用して table 変数にアクセスできます。たとえば、T.Height の値を使用して、患者の平均身長を計算します。

meanHeight = mean(T.Height)
meanHeight = 67

ボディマス指数 (BMI) を計算し、新しい table 変数として追加します。ドット構文を使用して、table 変数の追加と名前の設定を 1 ステップで行うこともできます。

T.BMI = (T.Weight*0.453592)./(T.Height*0.0254).^2
T=5×7 table
    LastName     Age    Smoker    Height    Weight    BloodPressure     BMI  
    _________    ___    ______    ______    ______    _____________    ______

    'Sanchez'    38     true        71       176       124     93      24.547
    'Johnson'    43     false       69       163       109     77      24.071
    'Li'         38     true        64       131       125     83      22.486
    'Diaz'       40     false       67       133       117     75      20.831
    'Brown'      49     true        64       119       122     80      20.426

table に、BMI 計算の説明として注釈を付けます。T.Properties によりアクセスしたメタデータを使用して、T とその変数に注釈を付けることができます。

T.Properties.Description = 'Patient data, including body mass index (BMI) calculated using Height and Weight';
T.Properties
ans = struct with fields:
             Description: 'Patient data, including body mass index (BMI) calculated using Height and Weight'
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'LastName'  'Age'  'Smoker'  'Height'  'Weight'  'BloodPressure'  'BMI'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}

table の 2 番目の次元名を使用して、table のすべてのデータに行列としてアクセスします。

一連の患者に関する 5 行のデータをもつ table を作成します。

Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

T = table(Age,Smoker,Height,Weight,BloodPressure)
T=5×5 table
    Age    Smoker    Height    Weight    BloodPressure
    ___    ______    ______    ______    _____________

    38     true        71       176       124     93  
    43     false       69       163       109     77  
    38     true        64       131       125     83  
    40     false       67       133       117     75  
    49     true        64       119       122     80  

DimensionNames プロパティを使用して、table の次元名を表示します。2 番目の次元の既定の名前は Variables です。

T.Properties.DimensionNames
ans = 1×2 cell array
    {'Row'}    {'Variables'}

構文 T.Variables を使用して、table のデータに行列としてアクセスします。この構文は、中かっこ構文 T{:,:} を使用してすべての内容にアクセスする場合と等価です。table のデータを連結して行列を生成することができない場合は、エラー メッセージが表示されます。

T.Variables
ans = 5×6

    38     1    71   176   124    93
    43     0    69   163   109    77
    38     1    64   131   125    83
    40     0    67   133   117    75
    49     1    64   119   122    80

2 番目の次元の名前を変更します。名前を変更したら、その新しい名前を使用してデータにアクセスすることができます。

T.Properties.DimensionNames{2} = 'PatientData';
T.PatientData
ans = 5×6

    38     1    71   176   124    93
    43     0    69   163   109    77
    38     1    64   131   125    83
    40     0    67   133   117    75
    49     1    64   119   122    80

table のサイズと変数のデータ型を指定して、table に事前割り当てを行います。関数 table は、指定したデータ型に適した既定値を変数に代入します。また、変数の既定の名前も設定されますが、独自の変数名を割り当てることもできます。事前割り当てにより、後から追加するデータの領域が table に用意されます。

sz = [4 3];
varTypes = {'double','datetime','string'};
T = table('Size',sz,'VariableTypes',varTypes)
T=4×3 table
    Var1    Var2      Var3   
    ____    ____    _________

     0      NaT     <missing>
     0      NaT     <missing>
     0      NaT     <missing>
     0      NaT     <missing>

変数の名前を指定するには、名前と値のペアの引数 'VariableNames' を使用します。

varNames = {'Temperature','Time','Station'};
T2 = table('Size',sz,'VariableTypes',varTypes,'VariableNames',varNames)
T2=4×3 table
    Temperature    Time     Station 
    ___________    ____    _________

         0         NaT     <missing>
         0         NaT     <missing>
         0         NaT     <missing>
         0         NaT     <missing>

データの行を T2 の最初の 2 行に追加します。コードによりデータの行が一度に 1 行または数行追加される場合は、事前割り当てが便利です。行を追加するたびに table を拡張する代わりに、データの領域を既にもっている table 変数への代入を行うことができます。

T2(1,:) = {75,datetime('now'),"S1"};
T2(2,:) = {68,datetime('now')+1,"S2"}
T2=4×3 table
    Temperature       Time         Station 
    ___________    ___________    _________

        75         18-Jan-2018    "S1"     
        68         19-Jan-2018    "S2"     
         0                 NaT    <missing>
         0                 NaT    <missing>

データ値の行をカプセル化して cell 配列にすることができます。cell 配列から行を割り当てると、cell 配列の要素が table の行に割り当てられます。

配列から table を作成します。table 変数名を指定するには、名前と値のペアの引数 'VariableNames' を使用します。たとえば、'VariableNames' を使用して、他の入力引数がワークスペース変数でない場合に名前を指定することができます。

T = table(categorical({'M';'F';'M'}),[45;32;34],...
          {'NY';'CA';'MA'},logical([1;0;0]),...
          'VariableNames',{'Gender','Age','State','Vote'})
T=3×4 table
    Gender    Age    State    Vote 
    ______    ___    _____    _____

      M       45     'NY'     true 
      F       32     'CA'     false
      M       34     'MA'     false

州名が行名になっている table を作成します。関数 table を使用する際には、'VariableNames''RowNames' の両方の名前と値のペアを使用することができます。

T = table(categorical({'M';'F';'M'}),[45;32;34],logical([1;0;0]),...
          'VariableNames',{'Gender','Age','Vote'},...
          'RowNames',{'NY';'CA';'MA'})
T=3×3 table
          Gender    Age    Vote 
          ______    ___    _____

    NY      M       45     true 
    CA      F       32     false
    MA      M       34     false

table の行名を指定します。table に行名は必須ではありませんが、これを指定すると、行名をインデックスとして table 内を参照することができます。また、table の最初の次元の名前を使用して、一連の行名にアクセスすることもできます。

患者データが格納されている配列を作成します。

LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];

これらの配列が格納される table を作成します。LastName を table の行名のソースとして指定します。この table には変数が 3 つしかありません。行名は table 変数ではなく、table のプロパティです。

T = table(Age,Weight,Height,'RowNames',LastName)
T=5×3 table
               Age    Weight    Height
               ___    ______    ______

    Sanchez    38      176        71  
    Johnson    43      163        69  
    Lee        38      131        64  
    Diaz       40      133        67  
    Brown      49      119        64  

行には行名が設定されているため、T の行を名前で指定することができます。

T('Lee',:)
ans=1×3 table
           Age    Weight    Height
           ___    ______    ______

    Lee    38      131        64  

複数の行を指定するには cell 配列を使用します。

T({'Lee','Brown'},:)
ans=2×3 table
             Age    Weight    Height
             ___    ______    ______

    Lee      38      131        64  
    Brown    49      119        64  

T のすべての行名に cell 配列としてアクセスするには、構文 T.Row を使用します。既定では、table の最初の次元の名前は Row です。

T.Row
ans = 5×1 cell array
    {'Sanchez'}
    {'Johnson'}
    {'Lee'    }
    {'Diaz'   }
    {'Brown'  }

最初の次元の名前を変更します。名前を変更すると、新しい名前を使用して行名にアクセスできるようになります。

T.Properties.DimensionNames{1} = 'LastNames';
T.LastNames
ans = 5×1 cell array
    {'Sanchez'}
    {'Johnson'}
    {'Lee'    }
    {'Diaz'   }
    {'Brown'  }

R2017a 以降、二重引用符を使用して string を作成し、string 配列を table 変数を追加できるようになりました。

FlightNum = [1261;547;3489];
Customer = ["Jones";"Brown";"Smith"];
Date = datetime(2016,12,20:22)';
Rating = categorical(["Good";"Poor";"Fair"]);
Comment = ["Flight left on time, not crowded";...
           "Late departure, ran out of dinner options";...
           "Late, but only by half an hour. Otherwise fine."];
T = table(FlightNum,Customer,Date,Rating,Comment)
T=3x5 table null
    FlightNum    Customer       Date        Rating                         Comment                     
    _________    ________    ___________    ______    _________________________________________________

      1261       "Jones"     20-Dec-2016     Good     "Flight left on time, not crowded"               
       547       "Brown"     21-Dec-2016     Poor     "Late departure, ran out of dinner options"      
      3489       "Smith"     22-Dec-2016     Fair     "Late, but only by half an hour. Otherwise fine."

string 配列内のテキストを行名として使用するには、string 配列を文字ベクトルの cell 配列に変換します。次に、行名を含む table を作成します。

Customer = cellstr(Customer);
T = table(FlightNum,Date,Rating,Comment,'RowNames',Customer)
T=3x4 table null
             FlightNum       Date        Rating                         Comment                     
             _________    ___________    ______    _________________________________________________

    Jones      1261       20-Dec-2016     Good     "Flight left on time, not crowded"               
    Brown       547       21-Dec-2016     Poor     "Late departure, ran out of dinner options"      
    Smith      3489       22-Dec-2016     Fair     "Late, but only by half an hour. Otherwise fine."

さまざまな日付での 3 か所の地域の総降雪量を含むワークスペース変数を作成します。これらの変数は行ベクトルです。

Date = {'12/25/11','1/2/12','1/23/12','2/7/12','2/15/12'};
location1 = [20 5 13 0 17];
location2 = [18 9 21 5 12];
location3 = [26 10 16 3 15];

これらの変数からテーブルを作成する 1 つの方法は、構文 T = table(Date',location1',location2',location3') で関数 table を呼び出すことです。ワークスペース変数は行ベクトルであるため、それらを転置してテーブル内に列方向データとして配置しなければなりません。したがって、入力引数は単純な変数ではなく、式になります。結果として、table は既定の変数名 Var1Var2Var3 および Var4 をもつ T を作成します。T の作成後、T.Properties.VariableNames によりわかりやすい名前を割り当てることができます。ただし、空のテーブルを作成し、変数を新しい名前で 1 つずつ追加する方法が便利な場合もあります。

空のテーブルを作成します。ワークスペース変数を転置して、テーブルに列ベクトルとして追加します。各ワークスペース変数を T に割り当てるときに、table 変数にわかりやすい名前を付けます。

T = table;
T.Date = Date';
T.Natick = location1';
T.Boston = location2';
T.Worcester = location3'
T=5x4 table null
       Date       Natick    Boston    Worcester
    __________    ______    ______    _________

    '12/25/11'      20        18         26    
    '1/2/12'         5         9         10    
    '1/23/12'       13        21         16    
    '2/7/12'         0         5          3    
    '2/15/12'       17        12         15    

ヒント

  • table を受け入れる関数、または返す関数の一覧については、tableを参照してください。

拡張機能

R2013b で導入