主要内容

添加、删除和重新排列表变量

这个例子展示了如何添加、删除和重新安排用于变量在一个表中。您可以添加、移动和删除表变量使用addvars,movevars,removevars功能。作为替代方案,你也可以修改表变量使用点语法或索引表。使用splitvarsmergevars函数将多列变量和多个变量组合为一个。最后,您可以调整一个表,表的行成为一个输出表的变量,使用rows2vars函数。

你也可以使用变量编辑器修改表变量。

加载示例数据并创建表

加载示例数据的数组病人MAT-file。显示的名称和大小变量加载到工作区。

负载病人——文件病人
类属性名称大小字节100岁x1 800双舒张压100 x1 800双性别100 x1 11412细胞高度100 x1 800双LastName 100 x1 11616细胞位置100 x1 14208细胞SelfAssessedHealthStatus 100 x1 11540细胞吸烟者100 x1 100逻辑收缩压100 x1 800双重量100 x1 800双

创建两个表。创建一个表,T从病人的问卷,收集的信息,创建另一个表,T2从患者,用数据衡量。每个表有100行。

T =表(年龄、性别、吸烟);T2 =表(身高、体重、收缩压、舒张压);

显示每个表的前五行。

头(T, 5)
ans =5×3表年龄性别吸烟者___ _____ _____ 38{‘男性’}真43{‘男性’}假38{‘女性’}假40{‘女性’}假49{‘女性’}假
头(T2, 5)
ans =5×4表身高体重收缩压舒张压持续________ _____ 71 176 124 93 69 163 109 77 64 131 125 83 67 133 117 75 64 119 122 80

从另一个表添加变量连接

将变量添加到表中T通过横向连接T2

T = [T T2];

显示前五行T

头(T, 5)
ans =5×7表年龄性别吸烟者身高体重收缩压舒张压___看上去__________长得一样________ _____ 38{‘男性’}真的71 176 124 93 43{‘男性’}假69 163 109 77 38{‘女性’}假64 131 125 83 40{‘女性’}假67 133 117 75 49{‘女性’}假64 119 122 80

T现在有7个变量和100行。

如果你是横向连接的表行名称,horzcat连接表的匹配行名称。因此,必须使用相同的表行名称,但行顺序无关紧要。

从工作空间变量添加到表中

从工作空间变量添加病人的名字在第一个表变量T。您可以指定表中的任何位置使用一个变量的名字在新的位置附近。使用引号引用表变量的名字。然而,不使用引号是工作空间变量的输入参数。

T = addvars (T,姓,“之前”,“年龄”);头(T, 5)
ans =5×8表LastName年龄性别吸烟者身高体重收缩压舒张压_______看上去___ __________长得一样——38 _____{“史密斯”}{‘男性’}真的71 176 124 93 43{“约翰逊”}{‘男性’}假69 163 109 77{威廉姆斯的}38{‘女性’}假64 131 125 83{“琼斯”}{‘女性’}假67 133 117 75{“棕色”}49{‘女性’}假64 119 122 80

你也可以使用数据表中的指定位置。例如,相同的语法使用指定位置T = addvars (T、LastName、‘前’,1)

添加变量使用点语法

另一种方法来添加新表变量是使用点语法。当你使用点语法,你总是添加新的变量如表变量过去。您可以添加任何数据类型的一个变量,只要有相同的表的行数。

创建一个新变量对血压水平两个变量的连接收缩压舒张压。将其添加到T

T。血压=(收缩压舒张压);头(T, 5)
ans =5×9表LastName年龄性别吸烟者身高体重收缩压舒张期血压_______看上去___ __________长得一样________ _____ _________________ 38{“史密斯”}{‘男性’}真的71 176 124 93 124 93 43{“约翰逊”}{‘男性’}假69 163 109 77 109 77{威廉姆斯的}38{‘女性’}假64 131 125 83 125 83 40{“琼斯”}{‘女性’}假67 133 117 75 117 75{“棕色”}49{‘女性’}假64 119 122 80 122 80

T现在有9个变量和100行。表变量可以有多个列。因此,尽管血压有两列,它是一个表变量。

添加一个新的变量,身体质量指数表中,T,包含每个病人的身体质量指数。身体质量指数是一个函数的身高和体重。当你计算身体质量指数,你可以参考重量高度变量的T

T。体重指数= (T.Weight * 0.453592)。/ (T.Height * 0.0254)。^ 2;

运营商。/。^计算的身体质量指数分别表示element-wise除法和求幂。

显示表的前五行T

头(T, 5)
ans =5×10表LastName年龄性别吸烟者身高体重收缩压舒张期血压BMI _______看上去___ __________长得一样________ _____ _________________ ______ 38{“史密斯”}{‘男性’}真的24.547 71 176 124 93 124 93 43{“约翰逊”}{‘男性’}假69 163 109 77 109 77 24.071{威廉姆斯的}38{‘女性’}假64 131 125 83 125 83 22.486{“琼斯”}40{‘女性’}假67 133 117 75 117 75 20.831{“棕色”}49{‘女性’}假64 119 122 80 122 80 20.426

移动变量在表

移动桌子变量身体质量指数使用movevars功能,所以它是变量重量。当您指定表变量的名字,使用引号。

T = movevars (T)“身体质量指数”,“后”,“重量”);头(T, 5)
ans =5×10表LastName年龄性别吸烟者身高体重指数收缩压舒张期血压_______ ___ __________交交________ _____ _________________ 38{“史密斯”}{‘男性’}真的71 176 93 124 93 124 24.547 43{“约翰逊”}{‘男性’}假69 163 77 109 77 109 24.071{威廉姆斯的}38{‘女性’}假22.486 64 131 125 83 125 83{“琼斯”}{‘女性’}假67 133 75 117 75 117 20.831{“棕色”}49{‘女性’}假64 119 80 122 80 122 20.426

你也可以使用数据表中的指定位置。例如,相同的语法使用指定位置T = movevars (T,“身体质量指数”,”之后,6)。它通常更方便引用变量的名字。

表变量使用索引

作为一种替代方法,您可以将索引表变量。你可以使用相同的语法你用表的索引,索引到一个矩阵。

移动血压所以,这是旁边身体质量指数

T = T (: [1:7 8 9 10]);头(T, 5)
ans =5×10表BMI LastName年龄性别吸烟者身高体重血压收缩压舒张压_______ ___ __________交交_________________ ________ 38 _____{“史密斯”}{‘男性’}真的71 176 93 124 93 124 24.547 43{“约翰逊”}{‘男性’}假69 163 77 109 77 109 24.071{威廉姆斯的}38{‘女性’}假64 131 22.486 125 83 125 83{“琼斯”}{‘女性’}假67 133 75 117 75 117 20.831{“棕色”}49{‘女性’}假64 119 80 122 80 122 20.426

表中有许多变量,它通常更方便使用movevars函数。

删除变量

要删除表变量,可以使用removevars函数。删除收缩压舒张压表变量。

T = removevars (T) {“收缩”,舒张压的});头(T, 5)
ans =5×8表LastName年龄性别吸烟者身高体重血压_______ BMI ___ __________交交_________________ 38{“史密斯”}{‘男性’}真的71 176 24.547 124 93 43{“约翰逊”}{‘男性’}假69 163 24.071 109 77{威廉姆斯的}38{‘女性’}假64 131 22.486 125 83{“琼斯”}{‘女性’}假67 133 20.831 117 75{“棕色”}49{‘女性’}假64 119 20.426 122 80

删除变量使用点语法

作为一种替代方法,您可以删除变量使用点语法和空矩阵,[]。删除年龄从表中变量。

T。年龄= [];头(T, 5)
ans =5×7表BMI LastName性别吸烟者身高体重血压_______ __________交交_________________{“史密斯”}{‘男性’}真的71 176 24.547 124 93{“约翰逊”}{‘男性’}假69 163 24.071 109 77{威廉姆斯的}{‘女性’}假64 131 22.486 125 83{“琼斯”}{‘女性’}假67 133 20.831 117 75{“棕色”}{‘女性’}假64 119 20.426 122 80

删除变量使用索引

您还可以删除变量使用索引和空矩阵,[]。删除性别从表中变量。

T (:,“性别”)= [];头(T, 5)
ans =5×6表LastName吸烟者高BMI体重血压_______交交_________________{“史密斯”}真的71 176 24.547 124 93{“约翰逊”}假69 163 24.071 109 77{威廉姆斯的}假64 131 22.486 125 83{“琼斯”}假67 133 20.831 117 75{“棕色”}假64 119 20.426 122 80

分裂和合并表变量

多列的表变量分割成变量,每个有一个列,使用splitvars功能。把变量血压为两个变量。

T = splitvars (T)“血压”,“NewVariableNames”,{“收缩”,舒张压的});头(T, 5)
ans =5×7表LastName吸烟者身高体重指数收缩压舒张压_______交交________ _____{“史密斯”}真的71 176 24.547 124 93{“约翰逊”}假69 163 24.071 109 77{威廉姆斯的}假64 131 22.486 125 83{“琼斯”}假67 133 20.831 117 75{“棕色”}假64 119 20.426 122 80

类似地,您可以在一个变量相关表变量分组,使用mergevars函数。结合收缩压舒张压回一个变量,和名称英国石油公司

T = mergevars (T) {“收缩”,舒张压的},“NewVariableName”,“英国石油公司”);头(T, 5)
ans =5×6表LastName吸烟者身高体重指数BP _______交交__________{“史密斯”}真的71 176 24.547 124 93{“约翰逊”}假69 163 24.071 109 77{威廉姆斯的}假64 131 22.486 125 83{“琼斯”}假67 133 20.831 117 75{“棕色”}假64 119 20.426 122 80

调整行成为变量

你可以调整一个表的行或时间表,这样他们成为输出表中的变量,使用rows2vars函数。然而,如果表有多列变量,那么你必须将它们在你的电话rows2vars

调整的行T。指定的病人的名字T的名字表变量输出表中。的第一个变量T3包含的变量的名称T。每个剩余变量的T3包含的数据从相应的行T

T = splitvars (T)“英国石油公司”,“NewVariableNames”,{“收缩”,舒张压的});T3 = rows2vars (T)“VariableNamesSource”,“姓”);T3 (: 1:5)
ans =6×5表看上去OriginalVariableNames史密斯约翰逊威廉琼斯_____________________ _________ ________得一样{“烟民”}1 0 0 0{“高度”}71 69 64 67{“重量”}176 163 131 133{“身体质量指数”}24.547 24.071 22.486 20.831{“收缩”}124 109 125 117{舒张的}93 77 83 75

您可以使用点语法T3访问病人数据为数组。然而,如果一个输入表的行值不能连接,然后输出的变量表细胞阵列。

T3.Smith
ans =6×11.0000 71.0000 176.0000 24.5467 124.0000 93.0000

另请参阅

|||||||

相关的话题