このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
splitvars
table または timetable の複数列の変数を分割
説明
例
変数の分割
ワークスペース変数から table を作成します。一部の変数は、複数の列をもつ行列です。
A = (1:3)'; B = [5 11 12; 20 30 50; 0.1 3.4 5.9]'; C = {'a','XX';'b','YY';'c','ZZ'}; D = [128 256 512]'; T1 = table(A,B,C,D)
T1=3×4 table
A B C D
_ ________________ _______________ ___
1 5 20 0.1 {'a'} {'XX'} 128
2 11 30 3.4 {'b'} {'YY'} 256
3 12 50 5.9 {'c'} {'ZZ'} 512
変数 B
と C
を分割します。出力 table のすべての変数には 1 つの列があります。
T2 = splitvars(T1)
T2=3×7 table
A B_1 B_2 B_3 C_1 C_2 D
_ ___ ___ ___ _____ ______ ___
1 5 20 0.1 {'a'} {'XX'} 128
2 11 30 3.4 {'b'} {'YY'} 256
3 12 50 5.9 {'c'} {'ZZ'} 512
変数の指定
patients.mat
ファイルのデータの配列を使用して、table が格納された table を作成します。最初の 3 行を表示します。
load patients
Personal_Data = table(Gender,Age);
BMI_Data = table(Height,Weight);
BloodPressure = table(Systolic,Diastolic);
T1 = table(LastName,Personal_Data,BMI_Data,BloodPressure);
head(T1,3)
LastName Personal_Data BMI_Data BloodPressure ____________ _________________ ________________ _____________________ Gender Age Height Weight Systolic Diastolic __________ ___ ______ ______ ________ _________ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
分割する変数として BloodPressure
を指定します。
T2 = splitvars(T1,'BloodPressure');
head(T2,3)
LastName Personal_Data BMI_Data Systolic Diastolic ____________ _________________ ________________ ________ _________ Gender Age Height Weight __________ ___ ______ ______ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
複数の変数を名前で指定するには、文字ベクトルの cell 配列を使用します。
T3 = splitvars(T1,{'BMI_Data','BloodPressure'}); head(T3,3)
LastName Personal_Data Height Weight Systolic Diastolic ____________ _________________ ______ ______ ________ _________ Gender Age __________ ___ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
変数を位置で指定するには、数値配列を使用します。
T4 = splitvars(T1,[2 4]); head(T4,3)
LastName Gender Age BMI_Data Systolic Diastolic ____________ __________ ___ ________________ ________ _________ Height Weight ______ ______ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
分割した変数の新しい名前
patients.mat
ファイルのデータを使用して、複数列の変数をもつ table を作成します。最初の 3 行を表示します。
load patients
Personal_Data = [Age,Height,Weight];
BloodPressure = [Systolic,Diastolic];
T1 = table(LastName,Gender,Personal_Data,BloodPressure);
head(T1,3)
LastName Gender Personal_Data BloodPressure ____________ __________ ________________ _____________ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
BloodPressure
を分割して、出力 table の新しい変数に新しい名前を指定します。
T2 = splitvars(T1,'BloodPressure','NewVariableNames',{'Systolic','Diastolic'}); head(T2,3)
LastName Gender Personal_Data Systolic Diastolic ____________ __________ ________________ ________ _________ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
BMI_Data
と BloodPressure
の両方を分割します。分割する変数のそれぞれについて、正しい数の新しい名前をもつ cell 配列を指定しなければなりません。
T3 = splitvars(T1,{'Personal_Data','BloodPressure'},... 'NewVariableNames',{{'Age','Height','Weight'},{'Systolic','Diastolic'}}); head(T3,3)
LastName Gender Age Height Weight Systolic Diastolic ____________ __________ ___ ______ ______ ________ _________ {'Smith' } {'Male' } 38 71 176 124 93 {'Johnson' } {'Male' } 43 69 163 109 77 {'Williams'} {'Female'} 38 64 131 125 83
入力引数
T1
— 入力テーブル
table | timetable
入力 table。table または timetable として指定します。
vars
— 入力 table の変数
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列 | pattern
スカラー | 数値配列 | logical 配列
入力 table の変数。string 配列、文字ベクトル、文字ベクトルの cell 配列、pattern
スカラー、数値配列、または logical 配列として指定します。
newNames
— 分割した変数の名前
文字ベクトルの cell 配列 | string 配列
分割した変数の名前。文字ベクトルの cell 配列または string 配列として指定します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
入力引数
vars
はパターン式をサポートしません。名前と値の引数
'NewVariableNames'
の値は定数でなければなりません。分割した変数の列数を可変にすることはできません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2018a で導入
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)