このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
dataset
クラス: dataset
(非推奨) データセット配列の作成
dataset
データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table
データ型を使用します。詳細は、MATLAB table
ドキュメンテーションを参照してください。
構文
A = dataset(
varspec
,'ParamName
',Value
)
A = dataset('File',filename
,'ParamName
',Value
)
A = dataset('XLSFile',filename
,'ParamName
',Value
)
A = dataset('XPTFile',xptfilename
,'ParamName
',Value
)
説明
A = dataset(
は、ワークスペース変数入力メソッド varspec
,'ParamName
',Value
)varspec
および 1 つまたは複数のオプションの名前と値のペア (「パラメーターの名前と値のペア」を参照) を使用して、データセット配列 A
を作成します。
入力メソッド varspec
には、以下の 1 つ以上のパラメーターを指定することができます。
VAR
— ワークスペース変数。dataset
は、A
内の変数名のワークスペース名を使用します。複数の変数を含めるには、VAR_1
,VAR_2
,...,VAR_N
と指定します。変数には任意のサイズの配列を使用できます。ただし、すべての変数に同じ数の行がなければなりません。VAR
は、例外になる場合もあります。この場合、dataset
によって、既定の名前が自動的に作成されます。{
VAR
,name
} — ワークスペース変数VAR
および変数名name
。dataset
はname
を変数名として使用します。複数の変数を含めるには、{VAR_1
,name_1
}, {VAR_2
,name_2
},..., {VAR_N
,name_N
} と指定します。{
VAR
,name_1
,...
,name_m
} — m 列のワークスペース変数VAR
。dataset
は、名前name_1
、...
、name_m
を変数名として使用します。VAR
の各列に対して名前を含めなければなりません。各列は、A
内で別々の変数となります。
これらの入力メソッドを組み合わせて、必要なだけの変数と名前を含めることができます。名前は、有効で一意な MATLAB の識別子でなければなりません。入力の組み合わせの例は、「例」を参照してください。オプションの名前と値のペアの詳細は、「入力」を参照してください。
数値配列、cell 配列、構造体配列またはテーブルをデータセット配列に変換するには、それぞれ次も使用できます。
メモ
データセット配列には、組み込みデータ型や配列オブジェクトを変数として含めることができます。配列オブジェクトは以下の要素を満たしていなければなりません。
MATLAB 標準の小かっこのインデックス。形式は
var(i,...)
で、i
は変数の行に対応する数値または logical ベクトルです。引数
dim
をもつsize
メソッドvertcat
メソッド
A = dataset('File',
は、filename
,'ParamName
',Value
)filename
で指定されたテキスト ファイル内の列データからデータセット配列 A
を作成します。A
内の変数のデータ型は、ファイルの対応する列にあるデータが列見出し以外はすべて数値である場合、double
になります。それ以外の場合、A
内の変数は文字ベクトルの cell 配列になります。dataset
は、空のフィールドを NaN
(数値変数の場合) または空の文字ベクトル (文字値変数の場合) に変換します。dataset
は、ファイル内の意味のない空白を無視します。ファイルとワークスペース変数の両方を入力として指定することはできません。詳細は、「名前と値のペア」を参照してください。
A = dataset('XLSFile',
は、filename
,'ParamName
',Value
)filename
によって指定された Excel® スプレッドシート内の列データからデータセット配列 A
を作成します。A
内の変数のデータ型は、スプレッドシートの対応する列にあるデータが列見出し以外はすべて数値である場合、double
になります。それ以外の場合、A
内の変数は文字ベクトルの cell 配列になります。詳細は、「名前と値のペア」を参照してください。
A = dataset('XPTFile',
は、SAS® XPORT 形式ファイルからデータセット配列を作成します。XPORT 形式ファイルからの変数名は維持されます。XPORT 形式ファイル内の数値データ型は維持されますが、その他のデータ型はすべて文字ベクトルの cell 配列に変換されます。XPORT 形式では、28 個の欠損データ型が許容されます。xptfilename
,'ParamName
',Value
)dataset
では、これらはファイル内で大文字、'.'
、または '_'
で表されます。dataset
は、A
内のすべての欠損データを NaN
値に変換します。詳細は、「名前と値のペア」を参照してください。
パラメーターの名前と値のペア
データセットの作成中に以下の 1 つ以上の名前と値のペアを指定します。
|
指定された変数名を |
|
指定された観測値名を |
テキスト ファイルを入力として使用中に使用できる名前と値のペアは次のとおりです。
|
ファイル内の列を区切る文字を示す文字ベクトルまたは string スカラー。次の値を使用できます。
|
|
|
|
ファイルの先頭からスキップする行数を示す数値。 既定値: |
|
数値列内で空の文字ベクトルとして扱う文字を指定します。値は、文字配列、string 配列、または文字ベクトルの cell 配列です。このパラメーターはファイル内の数値列にのみ適用されます。 |
テキスト ファイルまたは Excel スプレッドシートを入力として使用中に使用できる名前と値のペアは次のとおりです。
|
論理値。ファイルの 1 行目から変数名を読み取るかどうかを示し、読み取る場合は |
|
ファイルまたは範囲 (Excel スプレッドシートを使用している場合) の 1 列目から観測値名を読み取るかどうかを示す論理値。読み取る場合は
|
テキスト ファイルまたは Excel スプレッドシートを入力として使用中に使用できる名前と値のペアは次のとおりです。
|
シート番号を表す |
|
|
例
ワークスペース変数から観測値の名前を含むデータセット配列を以下のように作成します。
load cereal cereal = dataset(Calories,Protein,Fat,Sodium,Fiber,Carbo,... Sugars,'ObsNames',Name) cereal.Properties.VarDescription = Variables(4:10,2);
複数列ワークスペースの単一の変数から各列の変数名を指定して、データセット配列を以下のように作成します。
load cities categories = cellstr(categories); cities = dataset({ratings,categories{:}},... 'ObsNames',cellstr(names))
テキスト ファイルまたはスプレッドシート ファイルからデータを読み込みます。
patients = dataset('File','hospital.dat',... 'Delimiter',',','ReadObsNames',true) patients2 = dataset('XLSFile','hospital.xls',... 'ReadObsNames',true)
CSV ファイル
hospital.dat
から患者データを読み込み、この情報を、データの最初の列に観測名 (患者 ID) があるdataset
配列に保存します。patients = dataset('file','hospital.dat', ... 'format','%s%s%s%f%f%f%f%f%f%f%f%f', ... 'Delimiter',',','ReadObsNames',true);
書式を指定せずにデータを読み込むこともできます。
dataset
は、ファイルの内容に基づいて、double
配列または文字ベクトルの cell 配列であるdataset
変数を自動的に作成します。patients = dataset('file','hospital.dat',... 'delimiter',',',... 'ReadObsNames',true);
{0,1} 値変数
smoke
をノミナル変数とし、ラベルを'No'
と'Yes'
に変更します。patients.smoke = nominal(patients.smoke,{'No','Yes'});
喫煙者のより詳細な履歴のプレースホルダーとして新しいレベルを
smoke
に追加します。patients.smoke = addlevels(patients.smoke,... {'0-5 Years','5-10 Years','LongTerm'});
非喫煙者に喫煙の経験がないという前提で、
'No'
レベルを再度ラベル付けします。patients.smoke = setlabels(patients.smoke,'Never','No');
smoke
から未分化の'Yes'
レベルを削除します。patients.smoke = droplevels(patients.smoke,'Yes');
喫煙者には未定義のレベルが付いています。
観測名ごとに、各喫煙者を新しいレベルのいずれかに設定します。
patients.smoke('YPL-320') = '5-10 Years';
バージョン履歴
R2007a で導入