このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
struct2table
構造体配列のテーブルへの変換
説明
例
スカラー構造体のテーブルへの変換
既定のオプションを使用してスカラー構造体をテーブルに変換します。
構造体配列 S
を作成します。
S.Name = ["Chang";"Brown";"Ruiz"]; S.Smoker = ["Y";"N";"Y"]; S.SystolicBP = [124;122;130]; S.DiastolicBP = [93;80;92];
スカラー構造体配列 S
には 4 つのフィールドがあり、各フィールドが 3 つの行で構成されています。
構造体配列をテーブルに変換します。
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
S
の構造体のフィールド名が、出力 table では変数名になります。T
のサイズは 3 行 4 列です。
table プロパティ T.Properties.RowNames
を変更してから、変数 Name
を削除して、 Name
を変数名から行名に変更します。
T.Properties.RowNames = T.Name; T.Name = []; T
T=3×3 table
Smoker SystolicBP DiastolicBP
______ __________ ___________
Chang "Y" 124 93
Brown "N" 122 80
Ruiz "Y" 130 92
非スカラー構造体配列のテーブルへの変換
非スカラー構造体配列 S
を作成します。
S(1,1).Name = "Chang"; S(1,1).Smoker = "Y"; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name = "Brown"; S(2,1).Smoker = "N"; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name = "Ruiz"; S(3,1).Smoker = "Y"; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S=3×1 struct array with fields:
Name
Smoker
SystolicBP
DiastolicBP
S
は、フィールドが 4 個ある 3 行 1 列の構造体配列です。
構造体配列をテーブルに変換します。
T = struct2table(S)
T=3×4 table
Name Smoker SystolicBP DiastolicBP
_______ ______ __________ ___________
"Chang" "Y" 124 93
"Brown" "N" 122 80
"Ruiz" "Y" 130 92
S
の構造体のフィールド名が、出力 table では変数名になります。T
のサイズは 3 行 4 列です。
スカラー構造体を配列として処理
"AsArray",true
を使用して、フィールドの行数が異なるスカラー構造体から table を作成します。
name
、billing
および test
という名前のフィールドをもつスカラー構造体 S
を作成します。
S.name = "John Doe";
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205]
S = struct with fields:
name: "John Doe"
billing: 127
test: [3x3 double]
これらのフィールドは行数が異なります。そのため、既定で "AsArray",false
を使用する struct2table(S)
を使用することはできません。
スカラー構造体を配列として処理し、テーブルに変換します。
T = struct2table(S,"AsArray",true)
T=1×3 table
name billing test
__________ _______ ____________
"John Doe" 127 {3x3 double}
T
には 1 つの行が含まれています。
入力引数
S
— 構造体配列
構造体配列
構造体配列。スカラー構造体配列として指定します。
S
がn
個のフィールドをもつスカラー構造体で、それらすべてのフィールドがm
行をもつ場合、T
はm
行n
列のテーブルになります。S
が、n
個のフィールドをもつm
行1
列の非スカラー構造体である場合、T
はm
行n
列のテーブルになります。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: "RowNames",["row1","row2","row3"]
は、行名 row1
、row2
および row3
を table T
に使用します。
RowNames
— 行名
{}
(既定値) | string 配列 | 文字ベクトルの cell 配列
行名。"RowNames"
と、string 配列または文字ベクトルの cell 配列 (要素は空ではなく一意) で構成されるコンマ区切りのペアとして指定します。
行名には、空白や非 ASCII 文字を含む任意の Unicode® 文字を使用できます。
先頭または末尾に空白文字を含む行名を指定すると、struct2table
は行名からそれらを削除します。
DimensionNames
— 次元名
文字ベクトルの 2 要素 cell 配列 | 2 要素 string 配列
"R2021a 以降"
次元名。要素が空ではない一意の文字ベクトルの 2 要素 cell 配列または 2 要素 string 配列として指定します。
次元名には、スペース、非 ASCII 文字を含む任意の Unicode 文字を使用できます。
R2021a より前は、出力の DimensionNames
プロパティの設定によってのみ、次元名を指定できます。
AsArray
— スカラー構造体の処理方法のインジケーター
false
(既定値) | true
| 0
| 1
スカラー構造体の処理方法のインジケーター。"AsArray"
と、false
、true
、0
、1
のいずれかで構成されるコンマ区切りのペアとして指定します。
|
|
|
|
出力引数
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
詳細については、table のコード生成 (MATLAB Coder)とコード生成における table の制限事項 (MATLAB Coder)を参照してください。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
バージョン履歴
R2013b で導入
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)