このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
ワークスペース変数からデータセット配列を作成
メモ
dataset
データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table
データ型を使用します。詳細は、MATLAB table
ドキュメンテーションを参照してください。
数値配列からデータセット配列を作成
この例では、MATLAB® ワークスペースにある数値配列からデータセット配列を作成する方法を示します。
標本データを読み込みます。
load fisheriris
ワークスペースには 2 つの変数が読み込まれます。1 つは 150 行 4 列の数値配列 meas
、もう 1 つは種のラベルが格納されている 150 行 1 列の cell 配列 species
です。
データセット配列を作成します。
mat2dataset
を使用して数値配列 meas
をデータセット配列に変換します。
ds = mat2dataset(meas); ds(1:10,:)
ans = meas1 meas2 meas3 meas4 5.1 3.5 1.4 0.2 4.9 3 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5 3.6 1.4 0.2 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5 3.4 1.5 0.2 4.4 2.9 1.4 0.2 4.9 3.1 1.5 0.1
この配列 meas
には 4 つの列があるため、データセット配列 ds
には 4 つの変数があります。既定の変数名は配列名 (meas
) に列番号が付加されたものです。
独自の変数名または観測名を指定するには、名前と値のペアの引数 VarNames
と ObsNames
をそれぞれ使用します。
dataset
を使用して数値配列をデータセット配列に変換する場合、既定で、変換後のデータセット配列には、列ごとに個別の変数ではなく、配列となっている 1 つの変数が含まれます。
データセット配列を確認します。
データセット配列 ds
のサイズを返します。
size(ds)
ans = 1×2
150 4
データセット配列 ds
のサイズは数値配列 meas
と同じです。変数名と観測名は、データセット配列のサイズに反映されません。
データセット配列のメタデータを調査します。
データセット配列 ds
のメタデータ プロパティを返します。
ds.Properties
ans = struct with fields:
Description: ''
VarDescription: {}
Units: {}
DimNames: {'Observations' 'Variables'}
UserData: []
ObsNames: {}
VarNames: {'meas1' 'meas2' 'meas3' 'meas4'}
プロパティには個別にアクセスすることもできます。たとえば、変数名は ds.Properties.VarNames
を使用して取得できます。
データセット配列変数のデータにアクセスします。
変数名にドット インデックスを使用すると、データセット配列のデータにアクセスできます。たとえば、最初の変数 meas1
の最小値を求めます。
min(ds.meas1)
ans = 4.3000
変数名を変更します。
ds
の 4 つの変数は、それぞれ、がく片の長さ、がく片の幅、花弁の長さ、花弁の幅の測定値です。変数名を変更してわかりやすくします。
ds.Properties.VarNames = {'SLength','SWidth','PLength','PWidth'};
説明を追加します。
データセット配列の説明を追加できます。
ds.Properties.Description = 'Fisher iris data';
ds.Properties
ans = struct with fields:
Description: 'Fisher iris data'
VarDescription: {}
Units: {}
DimNames: {'Observations' 'Variables'}
UserData: []
ObsNames: {}
VarNames: {'SLength' 'SWidth' 'PLength' 'PWidth'}
データセット配列のプロパティが更新され、新しい変数名と説明が設定されます。
データセット配列に 1 つの変数を追加します。
変数 species
は種のラベルが格納されている cell 配列です。species
は Species
というノミナル配列としてデータセット配列 ds
に追加します。データセット配列の最初の 5 つの観測値を表示します。
ds.Species = nominal(species); ds(1:5,:)
ans = SLength SWidth PLength PWidth Species 5.1 3.5 1.4 0.2 setosa 4.9 3 1.4 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.6 3.1 1.5 0.2 setosa 5 3.6 1.4 0.2 setosa
データセット配列 ds
には 5 番目の変数 Species
があることがわかります。
種類の異なるワークスペース変数からデータセット配列を作成
この例では、MATLAB® ワークスペースにある異種混合の変数からデータセット配列を作成する方法を示します。
標本データを読み込みます。
load carsmall
データセット配列を作成します。
ワークスペース変数のサブセットからデータセット配列を作成します。
ds = dataset(Origin,Acceleration,Cylinders,MPG); ds.Properties.VarNames(:)
ans = 4x1 cell
{'Origin' }
{'Acceleration'}
{'Cylinders' }
{'MPG' }
データセット配列を作成する場合、変数名を入力する必要はありません。dataset
では各ワークスペース変数の名前が自動的に使用されます。
データセット配列 ds
内には種類の異なるデータ型の変数が集められています。Origin
は文字配列、それ以外の変数は数値型です。
データセット配列を確認します。
データセット配列の最初の 5 つの観測値を表示します。
ds(1:5,:)
ans = Origin Acceleration Cylinders MPG USA 12 8 18 USA 11.5 8 15 USA 11 8 18 USA 12 8 16 USA 10.5 8 17
データセット配列に関数を適用します。
ds
の各変数のデータ型を返すには、datasetfun
を使用します。
varclass = datasetfun(@class,ds,'UniformOutput',false);
varclass(:)
ans = 4x1 cell
{'char' }
{'double'}
{'double'}
{'double'}
summary(ds)
を使用すると、変数に関する追加情報を取得できます。
データセット配列を変更します。
Cylinders
は数値配列で、気筒の数として 4
、6
、8
の各値が格納されています。Cylinders
を、four
、six
、eight
というレベルをもつノミナル配列に変換します。
最初の 15 台の自動車について生産国と気筒の数を表示します。
ds.Cylinders = nominal(ds.Cylinders,{'four','six','eight'}); ds(1:15,{'Origin','Cylinders'})
ans = Origin Cylinders USA eight USA eight USA eight USA eight USA eight USA eight USA eight USA eight USA eight USA eight France four USA eight USA eight USA eight USA eight
変数 Cylinders
は新しいデータ型になります。
参考
dataset
| datasetfun
| mat2dataset
| nominal