重新定位表或时间表,使行成为变量
T2 = rows2vars (
的行重新定位T1.
)T1.
,以便它们成为输出表中的变量T2.
,如图所示。如果rows2vars
可以连接的行的内容T1.
,然后是相应的变量T2.
是数组。否则,的变量T2.
是细胞阵列。rows2vars
不过,总是返回一个表T1.
可以是一张桌子,也可以是一张时刻表。
的rows2vars
函数复制的变量名T1.
变成一个新的变量T2.
.如果T1.
有行名或行次数,那么这些名称或次数就变成了变量名T2.
.除此以外,rows2vars
生成的名字Var1,…,VarN
作为变量名称T2.
.
创建表,然后重新调整其行为新表中的变量。
从patients.mat
文件。创建一个包含姓
,性别
,年龄
,高度
, 和重量
变量。
负载病人T1 =表(LastName、性别、年龄、身高、体重);头(T1, 3)
ans =3×5表LastName性别年龄身高体重 ____________ __________ ___ ______ ______ {' 史密斯的}{‘男性’}38 71 176{“约翰逊”}{‘男性’}43 69 163{威廉姆斯的}{‘女性’}38 64 131
将T1的行重新定位为输出表的变量。
T2 = Rows2Vars(T1);
显示前四个变量T2.
.的第一个变量T2.
的变量名T1.
.剩余的变量T2.
对应于T1.
.自T1.
没有任何行标签,变量T2.
有默认的名字,var1
来瓦尔恩
为N
变量。
T2 (: 1:4)
ans =5×4表OriginalVariableNames Var1 Var2 Var3 _____________________ _________ ___________ ____________ {' 姓‘}{“史密斯”}{“约翰逊”}{威廉姆斯的}{‘性别’}{‘男性’}{‘男性’}{‘女性’}{‘年龄’}{[38]}{[43]}{[38]}{“高度”}{[71]}{[69]}{[64]}{“重量”}{[176]}{[163]}{[131]}
创建一个具有行名的表。如果一个表有行名,那么rows2vars
将行名转换为变量名。
T3 =表(性别、年龄、身高、体重、“RowNames”、LastName);头(T3, 3)
ans =3×4表性别年龄身高体重__________ _________ ______ Smith{'男性'}38 71 176 Johnson{'男性'}43 69 163 Williams{'女性'}38 64 131
重新调整行T3.
.
T4 = rows2vars (T3);T4 (: 1:4)
ans =4×4表IndicalyVariaBlenames Smith Johnson威廉姆斯____________________________________________Height'} {[71]} {[64]} {[64]} {'权重'} {[176] {[163] {[131] {
载入一个时间表并显示它。
负载bostonTT波士顿
波士顿=6×3的时间表时间温度风速雨___________________ _________________ 2016-06-09 06:03:00 59.5 0.1 0.05 2016-06-09 12:00:23 63 2.3 0.08 2016-06-09 18:02:57 61.7 3.1 0.13 2016-06-10 06:01:47 55.4 5.7 0.15 2016-06-10 12:06:00 62.3 2.6 0.87 2016-06-10 18:02:57 58.8 6.2 0.33
重新定位它,以使其行成为输出中的变量。的rows2vars
函数将行时间转换为名称,但是修改它们,以便它们是有效的变量名称。此外,返回的输出参数rows2vars
始终是一个表,即使输入参数是一个时间表。
T = rows2vars(波士顿)
警告:表变量名不是有效的MATLAB标识符已被修改。由于表变量名必须是唯一的,因此任何碰巧与新标识符匹配的表变量名也会被修改。要使用原始的行名作为新的变量名,请将“PreserveVariableNames”设置为true。
t =表3×7OriginalVariableNames x2016_06_0906_03_00 x2016_06_0912_00_23 x2016_06_0918_02_57 x2016_06_1006_01_47 x2016_06_1012_06_00 x2016_06_1018_02_57 _____________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ { '温度'} 59.5 63 61.7 55.4 62.3 58.8 { '风速'} 0.1 2.3 3.1 5.7 2.6 6.2 { '清除'} 0.05 0.08 0.13 0.15 0.87 0.33
从R2020a开始,您可以从输入表或时间表中获取名称,并在输出表中使用它们作为变量名,而不需要修改。要保留原始名称,请使用“VariableNamingRule”
名称-值对的论点。
载入一个时间表并显示它。
负载bostonTT波士顿
波士顿=6×3的时间表时间温度风速雨___________________ _________________ 2016-06-09 06:03:00 59.5 0.1 0.05 2016-06-09 12:00:23 63 2.3 0.08 2016-06-09 18:02:57 61.7 3.1 0.13 2016-06-10 06:01:47 55.4 5.7 0.15 2016-06-10 12:06:00 62.3 2.6 0.87 2016-06-10 18:02:57 58.8 6.2 0.33
重新调整时间表,使其行时间成为输出表中的变量名称。转换约会时间
串口的值并使用该字符串保留所产生的名称“VariableNamingRule”
名称-值对。
T = rows2vars(波士顿,“VariableNamingRule”,“保存”)
t =表3×7notionvariablenames 2016-06-09 06:03:00 2016-06-09 12:00:23 2016-06-09 18:02:57 2016-06-10 06:01:47 2016-06-10 12:06:002016-06-10 18:02:57 _____________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ {'Temp' } 59.5 63 61.7 55.4 62.3 58.8 {'WindSpeed'} 0.1 2.3 3.1 5.7 2.6 6.2 {'Rain' } 0.05 0.08 0.13 0.15 0.87 0.33
变量名称T
不是有效的matlab标识符,因为日期以数字开头。但是,您可以使用点表示法来使用括号来引用此类变量。
t ('2016-06-09 06:03:00')
ans =3×159.5000 0.1000 0.0500
从电子表格中读取数据到表中。显示前三行。
T1 = readtable (“patients.xls”);头(T1, 3)
ans =表3×10名字性别年龄所在地身高体重吸烟者心脏收缩舒张SelfAssessedHealthStatus ____________ __________ ___ _____________________________ ______ ______ ______ ________ _________ ________________________ { '史密斯'} { '男'} 38 { '县综合医院'} 71 176真正的124 93 { '优秀'} {”约翰逊'} {'male'} 43 {'va hospital'} 69 163 false 109 77 {'fair'} {'williams'} {'女性'} 38 {'St.玛丽的医疗中心'} 64 131 false 125 83 {'好'}
重新调整行T1.
要成为新表的变量,T2.
.指定该姓
变量的T1.
的变量名的来源是T2.
.
T2 = rows2vars (T1,“VariableNamesSource”,“姓”);
显示前四个变量T2.
.的第一个变量T2.
的变量名T1.
.剩余的变量T2.
对应于T1.
.
T2 (: 1:4)
ans =9×4表史密斯OriginalVariableNames约翰逊威廉姆斯 ____________________________ ___________________________ _______________ _____________________________ {' 性别的}{‘男性’}{‘男性’}{‘女性’}{‘年龄’}{[38]}{[43]}{[38]}{“位置”}{县综合医院的}{VA医院的}{圣。玛丽的医学中心}{“高度”}{[71]}{[69]}{[64]}{“重量”}{[176]}{[163]}{[131]}{“烟民”}{[1]}{[0]}{[0]}{“收缩”}{[124]}{[109]}{[125]}{舒张的}{[93]}{[77]}{[83]}{‘SelfAssessedHealthStatus}{‘优秀’}{‘公平’}{‘好’}
显示数据T2.Smith.
.在这个例子中,每个变量T2.
是一个9乘1的单元格数组,因为T1.
不能连接到数组中。
T2.Smith.
ans =9×1单元阵列{'male'} {[38]} {'entival hospital'} {[71]} {[176]} {[1]} {[94]}
从电子表格中读取数据到表中。使用电子表格的第一列作为表的行名称。显示前三行。
T1 = readtable (“patients.xls”,“ReadRowNames”,真正的);头(T1, 3)
ans =3×9表性别年龄所在地身高体重吸烟者心脏收缩舒张SelfAssessedHealthStatus __________ ___ _____________________________ ______ ______ ______ ________ _________ ________________________史密斯{ '男'} 38 { '县综合医院'} 71 176真正的124 93 { '优秀'}约翰逊{ '男'} 43 {'Va Hospital'} 69 163 False 109 77 {'Fair'}威廉姆斯{'女性'} 38 {'St.玛丽的医疗中心'} 64 131 false 125 83 {'好'}
重新定位指定的变量T1.
并丢弃其余的。要按名称指定数据变量,请使用字符向量的单元格数组。
T2 = rows2vars (T1,“DataVariables”,{“性别”,'年龄',“高度”,“重量”});T2 (: 1:4)
ans =4×4表IndicalyVariaBlenames Smith Johnson威廉姆斯____________________________________________Height'} {[71]} {[64]} {[64]} {'权重'} {[176] {[163] {[131] {
您还可以通过输入表中的位置指定数据变量。要指定变量的位置,请使用数字数组。
t3 = Rows2vars(T1,“DataVariables”六9],[1 2);T3 (: 1:4)
ans =6×4表史密斯OriginalVariableNames约翰逊威廉姆斯 ____________________________ _____________ ________ __________ {' 性别的}{‘男性’}{‘男性’}{‘女性’}{‘年龄’}{[38]}{[43]}{[38]}{“烟民”}{[1]}{[0]}{[0]}{“收缩”}{[124]}{[109]}{[125]}{舒张的}{[93]}{[77]}{[83]}{‘SelfAssessedHealthStatus}{‘优秀’}{‘公平’}{‘好’}
T1.
- - - - - -输入表输入表,指定为表或时间表。
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
是相应的价值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“VariableNamingRule”,“保存”
留下原始名称T1.
,不需要修改它们就可以成为有效的MATLAB®标识符。
VariableNamesSource
- - - - - -可变的T1.
包含变量名称可变的T1.
包含以逗号分隔的对指定的变量名,由“VariableNamesSource”
以及字符向量、字符串标量、正整数或逻辑向量。的rows2vars
函数解释的值“VariableNamesSource”
如表所示。
的价值 |
意义 |
---|---|
字符矢量或字符串标量 |
输入表中的变量的名称 |
整数 |
的n 变量in.T1. . |
逻辑向量,其长度等于其中变量的数量 |
的 |
虽然价值“VariableNamesSource”
必须是指定表变量的名称、数字或逻辑数组,变量本身可以具有任何数据类型,具有这些限制。
指定表变量中包含的值必须具有允许将值转换为字符串的数据类型。例如,值“VariableNamesSource”
可以是包含a的表变量的名称约会时间
数组,因为约会时间
值可以转换为字符串。
从指定的表变量获取的名称数量必须与输入表的行数匹配。
DataVariables
- - - - - -选择变量T1.
选择变量T1.
,指定为逗号分隔的对,由“DataVariables”
以及字符向量、字符向量的单元阵列、字符串数组、正整数、正整数的向量、逻辑向量或下标对象。的rows2vars
函数选择由的值指定的变量“DataVariables”
并重新定位这些变量,使之成为行T2.
.剩余的变量T1.
被丢弃。
variablenamingrule.
- - - - - -变量命名规则T2.
“修改”
(默认)|“保存”
变量命名规则T2.
,指定为逗号分隔的对,由“VariableNamingRule”
或者这个值“修改”
或者“保存”
.
的值“VariableNamingRule”
指定以下规则在输出表或时间表中命名变量。
的价值 |
规则 |
---|---|
|
修改输入表或时间表中的名称,以便输出中相应的变量名称也是有效的MATLAB标识符。 |
|
保留从输入表或时间表中提取的原始名称。输出中相应的变量名可以是任何Unicode®字符,包括空格和非ascii字符。 笔记:在某些情况下,
|
使用注意事项及限制:
不支持时间表。金宝app
输入表不能是可变的大小。
的“VariableNamesSource”
不支持名称值参数。金宝app
的价值“DataVariables”
名称-值参数必须是常量。
的价值“VariableNamingRule”
名称-值参数必须是常量。
如果将行名分配给输入表,则行名向量必须是常量。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。