Main Content

cell2dataset

(非推奨) cell 配列をデータセット配列に変換

dataset データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table データ型を使用します。詳細は、MATLAB table ドキュメンテーションを参照してください。

説明

ds = cell2dataset(C) は cell 配列を dataset 配列に変換します。

ds = cell2dataset(C,Name,Value) は、追加のオプションを使用して変換を実行します。これらのオプションは 1 つ以上の Name,Value のペアの引数で指定されます。

すべて折りたたむ

既定のオプションを使用して cell 配列をデータセット配列に変換します。

変換する cell 配列を作成します。

C = {'Name','Gender','SystolicBP','DiastolicBP';
     'CLARK','M',124,93;
     'BROWN','F',122,80;
     'MARTIN','M',130,92}
C=4×4 cell array
    {'Name'  }    {'Gender'}    {'SystolicBP'}    {'DiastolicBP'}
    {'CLARK' }    {'M'     }    {[       124]}    {[         93]}
    {'BROWN' }    {'F'     }    {[       122]}    {[         80]}
    {'MARTIN'}    {'M'     }    {[       130]}    {[         92]}

この cell 配列をデータセット配列に変換します。

ds = cell2dataset(C)
ds = 
    Name              Gender       SystolicBP    DiastolicBP
    {'CLARK' }        {'M'}        124           93         
    {'BROWN' }        {'F'}        122           80         
    {'MARTIN'}        {'M'}        130           92         

C の最初の行が出力データセット配列 ds の変数名となります。

cell 配列を、複数列変数を含むデータセット配列に変換します。

変換する cell 配列を作成します。

C = {'Name','Gender','SystolicBP','DiastolicBP';
     'CLARK','M',124,93;
     'BROWN','F',122,80;
     'MARTIN','M',130,92}
C=4×4 cell array
    {'Name'  }    {'Gender'}    {'SystolicBP'}    {'DiastolicBP'}
    {'CLARK' }    {'M'     }    {[       124]}    {[         93]}
    {'BROWN' }    {'F'     }    {[       122]}    {[         80]}
    {'MARTIN'}    {'M'     }    {[       130]}    {[         92]}

cell 配列をデータセット配列に変換し、収縮期血圧および拡張期血圧の測定値を結合して BloodPressure という 1 つの変数に格納します。

ds = cell2dataset(C,'NumCols',[1,1,2]);
ds.Properties.VarNames{3} = 'BloodPressure';
ds
ds = 
    Name              Gender       BloodPressure  
    {'CLARK' }        {'M'}        124          93
    {'BROWN' }        {'F'}        122          80
    {'MARTIN'}        {'M'}        130          92

出力データセット配列には、3 件の観測値と 3 個の変数があります。

入力引数

すべて折りたたむ

データセット配列に変換するための入力 cell 配列。M 行 N 列の cell 配列として指定します。C の各列は出力データセット配列 ds 内の変数となります。既定では、cell2datasetC の最初の行に変数名が存在すると認識します。

データ型: cell | string

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'ReadVarNames',false,'ReadObsNames',true」は、cell 配列の最初の行に変数名がなく、最初の列に観測名があることを示しています。

入力 cell 配列の最初の行から変数名を読み取るかどうかを示すインジケーター。'ReadVarNames'true または false で構成されるコンマ区切りのペアとして指定します。既定値は true です。ただし、変数名が名前と値のペアの引数 VarNames で指定されている場合を除きます。ReadVarNamesfalseの場合、cell2dataset は既定の変数名が指定されていなければそれを作成します。

例: 'ReadVarNames',false

出力データセット配列の変数名。'VarNames' と文字ベクトルの cell 配列または string 配列から構成されるコンマ区切りのペアとして指定します。ds の各変数の変数名を指定しなければなりません。この変数名は MATLAB 識別子として有効な文字列であり、一意でなければなりません。

例: 'VarNames',{'myVar1','myVar2','myVar3'}

入力 cell 配列から観測名を読み取るかどうかを示すインジケーター。'ReadObsNames'true または false で構成されるコンマ区切りのペアとして指定します。ReadObsNames の値が true の場合、cell2datasetC の最初の列を使用して ds の観測名を作成し、ds.Properties.DimNames{C{1,1},'Variables'} に設定します。

例: 'ReadObsNames',true

出力データセット配列の観測値名。'ObsNames' と文字ベクトルの cell 配列または string 配列から構成されるコンマ区切りのペアとして指定します。この観測名は MATLAB 識別子として有効な文字列である必要はありませんが、一意でなければなりません。

ds の各変数の列数。コンマ区切りのペアとして指定し、'NumCols' と非負の整数のベクトルで構成されます。変数の列数が複数である場合、cell2datasetC の複数の列を結合して ds に 1 つの変数として格納します。NumCols に割り当てるベクトルの合計は size(C,2) でなければなりません。あるいは、ReadObsNamessize(C,1)true にします。

たとえば、8 列の cell 配列を 5 個の変数をもつデータセット配列に変換するには、'NumCols',[1,1,3,1,2] のように、5 つの要素を含み、その合計が 8 になるようなベクトルを指定します。

出力引数

すべて折りたたむ

出力データセット配列。既定では、C の各列の変数、C で最初の行以外の各行の観測、C の最初の行に対応する変数名が返されます。

  • ReadVarNamesfalse に設定 (または VarNames を指定) した場合は、C の行ごとの ds に観測値があるため、cell2dataset は既定の変数名 (または VarNames の名前を使用) を作成します。

  • ReadObsNamestrue に設定した場合、cell2datasetC の最初の列を観測名として使用します。

  • NumCols を指定する場合、ds の変数の数は指定された列数のベクトルの長さに等しくなります。

バージョン履歴

R2012b で導入