主要内容

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

这个例子展示了如何添加、删除和重新安排用于变量在一个表中。您可以添加、移动和删除表变量使用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 =表(年龄、SelfAssessedHealthStatus吸烟者);T。SelfAssessedHealthStatus =字符串(T.SelfAssessedHealthStatus);T2 =表(身高、体重、收缩压、舒张压);

显示每个表的前五行。

头(T, 5)
年龄SelfAssessedHealthStatus吸烟者___ ________________________ ______ 38 43“公平”“优秀”真的假38“好”假40假49“好”假“公平”
头(T2, 5)
身高体重收缩压舒张压持续________ _____ 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)
年龄SelfAssessedHealthStatus吸烟者身高体重收缩压舒张压___看上去________________________长得一样________ _____ 38“优秀”真71 176 124 93 43“公平”假“好”假69 163 109 77 64 131 125 83 40“公平”假67 133 117 75 49“好”假64 119 122 80

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

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

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

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

T = addvars (T,姓,“之前”,“年龄”);T。LastName =字符串(T.LastName);头(T, 5)
LastName SelfAssessedHealthStatus吸烟者年龄身高体重收缩压舒张压__________ ___看上去________________________长得一样________ _____“史密斯”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 = addvars (T、LastName、‘前’,1)

添加变量使用点语法

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

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

T。血压=(收缩压舒张压);头(T, 5)
LastName SelfAssessedHealthStatus吸烟者年龄身高体重收缩压舒张期血压__________ ___看上去________________________长得一样________ _____ _________________ 38“史密斯”“优秀”真正的71 176 124 93 124 93 43“约翰逊”“公平”假69 163 109 77 109 77”威廉姆斯“38“好”假40 64 131 125 83 125 83”琼斯”“公平”假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)
LastName SelfAssessedHealthStatus吸烟者年龄身高体重收缩压舒张期血压BMI __________ ___看上去________________________长得一样________ _____ _________________ ______ 38“史密斯”“优秀”真正的71 176 124 93 124 93 24.547“约翰逊”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)
LastName SelfAssessedHealthStatus吸烟者年龄身高体重指数收缩压舒张期血压__________ ___ ________________________交交________ _____ _________________ 38“史密斯”“优秀”真正的71 176 93 124 93 124 24.547 43“约翰逊”“公平”假69 163 77 109 77 109 24.071”威廉姆斯“38“好”假64 131 83 125 83 125 22.486“公平”假“琼斯”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)
BMI LastName SelfAssessedHealthStatus吸烟者年龄身高体重血压收缩压舒张压__________ ___ ________________________交交_________________ ________ _____“史密斯”38“优秀”真正的71 176 93 124 93 124 24.547 43“约翰逊”“公平”假69 163 77 109 77 109 24.071“好”假“威廉姆斯”64 131 83 125 83 125 22.486”琼斯”40“公平”假67 133 75 117 75 117 20.831“棕色”49“好”假64 119 80 122 80 122 20.426

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

删除变量

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

T = removevars (T) [“收缩”,“舒张期”]);头(T, 5)
LastName SelfAssessedHealthStatus吸烟者年龄身高体重血压__________ BMI ___ ________________________交交_________________ 38“史密斯”“优秀”真正的71 176 24.547 124 93 43“约翰逊”“公平”假69 163 24.071 109 77“好”假“威廉姆斯”64 131 22.486 125 83“公平”假“琼斯”67 133 20.831 117 75“棕色”49“好”假64 119 20.426 122 80

删除变量使用点语法

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

T。年龄= [];头(T, 5)
LastName SelfAssessedHealthStatus吸烟者身高体重血压__________ 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 122 - 20.426 80

删除变量使用索引

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

T (:,“SelfAssessedHealthStatus”)= [];头(T, 5)
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 122 - 20.426 80

分裂和合并表变量

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

T = splitvars (T)“血压”,“NewVariableNames”,(“收缩”,“舒张期”]);头(T, 5)
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 122 - 20.426 80

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

T = mergevars (T) [“收缩”,“舒张期”),“NewVariableName”,“英国石油公司”);头(T, 5)
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 122 - 20.426 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

另请参阅

|||||||

相关的话题