struct2dataset
(非推奨) 構造体配列のデータセット配列への変換
dataset
データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table
データ型を使用します。詳細は、MATLAB table
ドキュメンテーションを参照してください。
説明
例
スカラー構造体配列のデータセット配列への変換
既定のオプションを使用してスカラー構造体配列をデータセット配列に変換します。
変換する構造体配列を作成します。
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]
このスカラー構造体配列には 4 つのフィールドがあり、各フィールドが 3 つの行で構成されています。
構造体配列をデータセット配列に変換します。
ds = struct2dataset(S)
ds = Name Gender SystolicBP DiastolicBP {'CLARK' } {'M'} 124 93 {'BROWN' } {'F'} 122 80 {'MARTIN'} {'M'} 130 92
S
の構造体のフィールド名が、出力データセット配列では変数名になります。ds
のサイズは 3 行 4 列です。
非スカラー構造体配列のデータセット配列への変換
構造体フィールドの 1 つ観測名に使用して、非スカラー構造体配列をデータセット配列に変換します。
変換する非スカラー構造体配列を作成します。
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=3×1 struct array with fields:
Name
Gender
SystolicBP
DiastolicBP
これは フィールドが 4 個ある 3 行 1 列の構造体配列です。
観測名に Name
フィールドを使用して、この非スカラー構造体配列をデータセット配列に変換します。
ds = struct2dataset(S,'ReadObsNames','Name')
ds = Gender SystolicBP DiastolicBP CLARK {'M'} 124 93 BROWN {'F'} 122 80 MARTIN {'M'} 130 92
構造体フィールド Name
がデータセット配列の変数ではなく観測名として使用されるので、ds
のサイズは 3 行 3 列になります。
ds.Properties.DimNames
ans = 1x2 cell
{'Name'} {'Variables'}
ds.Properties.ObsNames
ans = 3x1 cell
{'CLARK' }
{'BROWN' }
{'MARTIN'}
入力引数
S
— 入力構造体配列
構造体配列
データセット配列に変換される、入力構造体配列。N 個のフィールドをもち、それぞれが M 行もつスカラー構造体配列、あるいは N 個のフィールドをもつ M 行 1 列の非スカラー構造体配列として指定します。
データ型: struct
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'ReadObsNames','myField'
は、構造体フィールド myField
に観測名が含まれることを指定します。
ReadObsNames
— データセット配列の観測名を含む構造体のフィールドの名前
false
(既定値) | 文字ベクトル | string スカラー
出力データセット配列の観測値名が含まれている構造体フィールドの名前。'ReadObsNames'
と、入力構造体配列 S
のフィールド名が含まれている文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。フィールド名を指定する場合、struct2dataset
はそのフィールドを使って観測名を作成し、ds.Properties.DimNames
を {ReadObsNames,'Variables'}
に設定します。
たとえば、構造体のフィールドの観測名である Names
を指定するには、次を使用します。
例: 'ReadObsNames','Names'
既定の設定を使用する場合や ReadObsNames
が false
の場合には、名前と値のペアの引数 ObsNames
を使用して名前を指定しない限り、struct2dataset
は観測名を作成しません。
ObsNames
— データセット配列の観測名
string 配列 | 文字ベクトルの cell 配列
出力データセット配列の観測値名。'ObsNames'
と、観測値名が含まれている文字ベクトルの cell 配列または string 配列から構成されるコンマ区切りのペアとして指定します。この観測名は MATLAB 識別子として有効な文字列である必要はありませんが、一意でなければなりません。
AsScalar
— スカラー構造体の処理方法のインジケーター
false
| true
スカラー入力構造体配列の処理方法を指定するインジケーター。'AsScalar'
と、true
または false
で構成されるコンマ区切りペアとして指定します。既定値は、S
がスカラー構造体配列の場合は true
、それ以外の場合は false
です。
既定では struct2dataset
が、スカラー構造体配列 (N 個のフィールドもち、それぞれ M 行もつ) を、M 行 N 列のデータセット配列に変換します。
代わりにスカラー入力構造体配列に対して AsScalar
を false
に設定した場合、struct2dataset
は S
を N 個の観測値をもつデータセット配列に変換します。
出力引数
バージョン履歴
R2012b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)