このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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: {3×1 cell}
Gender: {3×1 cell}
SystolicBP: [3×1 double]
DiastolicBP: [3×1 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 = 1×2 cell
{'Name'} {'Variables'}
ds.Properties.ObsNames
ans = 3×1 cell
{'CLARK' }
{'BROWN' }
{'MARTIN'}
入力引数
データセット配列に変換される、入力構造体配列。N 個のフィールドをもち、それぞれが M 行もつスカラー構造体配列、あるいは N 個のフィールドをもつ M 行 1 列の非スカラー構造体配列として指定します。
データ型: struct
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'ReadObsNames','myField'
は、構造体フィールド myField
に観測名が含まれることを指定します。
出力データセット配列の観測値名が含まれている構造体フィールドの名前。'ReadObsNames'
と、入力構造体配列 S
のフィールド名が含まれている文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。フィールド名を指定する場合、struct2dataset
はそのフィールドを使って観測名を作成し、ds.Properties.DimNames
を {ReadObsNames,'Variables'}
に設定します。
たとえば、構造体のフィールドの観測名である Names
を指定するには、次を使用します。
例: 'ReadObsNames','Names'
既定の設定を使用する場合や ReadObsNames
が false
の場合には、名前と値のペアの引数 ObsNames
を使用して名前を指定しない限り、struct2dataset
は観測名を作成しません。
出力データセット配列の観測値名。'ObsNames'
と、観測値名が含まれている文字ベクトルの cell 配列または string 配列から構成されるコンマ区切りのペアとして指定します。この観測名は MATLAB 識別子として有効な文字列である必要はありませんが、一意でなければなりません。
スカラー入力構造体配列の処理方法を指定するインジケーター。'AsScalar'
と、true
または false
で構成されるコンマ区切りペアとして指定します。既定値は、S
がスカラー構造体配列の場合は true
、それ以外の場合は false
です。
既定では struct2dataset
が、スカラー構造体配列 (N 個のフィールドもち、それぞれ M 行もつ) を、M 行 N 列のデータセット配列に変換します。
代わりにスカラー入力構造体配列に対して AsScalar
を false
に設定した場合、struct2dataset
は S
を N 個の観測値をもつデータセット配列に変換します。
出力引数
バージョン履歴
R2012b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)