splitvars
在表或时间表中拆分多列变量
说明
示例
使用工作区变量创建一个表。一些变量是具有多列的矩阵。
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
。输出表中的所有变量都只有一个列。
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
文件中数据的数组创建一个包含多个表的表。显示前三行。
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
要按名称指定多个变量,请使用字符向量元胞数组。
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
文件中的数据创建一个包含多列变量的表。显示前三行。
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
并为输出表中的新变量指定新名称。
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
。对于要拆分的每个变量,您必须提供一个具有正确数量的新名称的元胞数组。
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
输入参数
扩展功能
splitvars
函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
vars
输入参量不支持模式表达式。'NewVariableNames'
名称-值参量的值必须为常量。拆分的变量不能有可变的列数。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2018a 中推出
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)