加入

通过使用关键变量行合并两个表或时间表

描述

Ť=加入(TleftTright结合表或时间表TleftTright运用关键变量。有两个表中相同名称的所有变量是关键变量。一个表连接右表中追加行,其中的关键变量匹配左表的关键变量的值。例如,如果Tleft有一个名为变量键1VAR1Tright有变数键1VAR2, 然后T =加入(Tleft,Tright)使用键1作为关键变量。

左和右表中的关键变量的匹配值不必是相同的顺序。此外,关键变量Tright必须包含的几个关键变量的值Tleft。每个值都必须在关键变量只出现一次Tright,但在关键变量出现多次Tleft

该输入可以是表,时间表,或者每一个中的一个。

  • 如果Tleft是一个表,然后加入回报Ť为表。

  • 如果Tleft是一个时间表,然后加入回报Ť作为一个时间表。

的行标签的载体TleftTright可能是关键变量。行标签是一个表的行名称或时间表的行倍。

Ť=加入(TleftTright名称,值加入由一个或多个指定的其他选项的表或时间表名称,值对参数。

例如,您可以指定为关键变量要使用的变量。

[Ťiright] =加入(___还返回一个索引向量iright使得每个元件iright标识的行Tright对应于该行中Ť。您可以使用此语法与任何以前的语法的输入参数。

例子

全部收缩

创建一个表,Tleft

Tleft =表({“贾尼斯”“乔纳斯”“哈维尔”'杰瑞''朱丽叶'}”,[1; 2; 1; 2; 1],...'VariableNames'{'雇员''部门'})
Tleft =5×2表雇员部__________ { '卫'} {1 '的Jonas'} 2 { '哈维尔'} {1 '杰里'} 2 { '朱莉'} 1

创建一个表,Tright与在普通具有可变Tleft

Tright =表([1 2]”,{'玛丽'“蒙娜丽莎”}”,...'VariableNames'{'部门''经理'})
Tright =2×2表部门经理__________ ________ 1 { '玛丽'} 2 { '蒙娜丽莎'}

创建一个新表,Ť从表包含数据TleftTright。使用加入功能重复和追加经理从表中的数据Tright从表中的数据Tleft的基础上,关键变量,部门

T =加入(Tleft,Tright)
T =5×3表雇员的部门经理__________ ________ { '卫'} 1 { '玛丽'} { '乔纳斯'} 2 { '蒙娜丽莎'} { '哈维尔'} 1 { '玛丽'} { '杰里'} 2 { '蒙娜丽莎'}{ '朱莉'} {1 '玛丽'}

创建一个表,Tleft

Tleft =表([5; 12; 23; 2; 6]...{'谷类';'比萨';'三文鱼';'饼干';'比萨'},...'VariableNames'{'年龄''FavoriteFood'},...'RowNames'{“艾米”“博比”'冬青'“哈利”“莎莉”})
Tleft =5×2表年龄FavoriteFood ___ ____________艾米5 { '谷'}博比12 { '比萨'}霍利23 { '三文鱼'}哈里2 { '饼干'}萨利6 { '比萨'}

创建一个表,Tright与在共同与一个可变Tleft

Tright =表({'谷类';'饼干';'比萨';'三文鱼';'蛋糕'},...[110; 160; 140; 367; 243],...{'B';'d';'B-';'一个';'C-'},...'VariableNames'{'FavoriteFood'“卡路里”'NutritionGrade'})
Tright =5×3表FavoriteFood卡路里NutritionGrade ____________ ________ ______________ { '谷物'} 110 { 'B'} { '曲奇'} 160 { 'd'} { '比萨饼'} {140 'B-'} { '鲑鱼'} 367 { 'A'} { '蛋糕'} {243 'C-'}

创建一个新表,Ť与来自表中的数据TleftTright。在常见的可变,FavoriteFood被用作通过一个关键变量加入功能。

T =加入(Tleft,Tright)
T =5×4表年龄FavoriteFood卡路里NutritionGrade ___ ____________ ________ ______________艾米5 { '谷物'} 110 { 'B'}波比12 { '比萨饼'} 140 { 'B-'}冬青23 { '鲑'} 367 { 'A'} 2哈利{ '曲奇'} 160 { 'd'}萨利6 { '比萨饼'} 140 { 'B-'}

Ť不包括表的最后一行信息Tright关于'蛋糕'因为在表中没有对应的条目Tleft

创建一个表,Tleft

Tleft =表([10; 4; 2; 3; 7],[5; 4; 9; 6; 1],[10; 3; 8; 8; 4])
Tleft =5×3表VAR1 VAR2 VAR3 ____ ____ ____ 10 5 10 4 4 3 2 9 8 3 6 8 7 1 4

创建一个表,Tright,捐赠VAR2Tright相同的内容VAR2从表Tleft

Tright =表([6; 1; 1; 6; 8],[5; 4; 9; 6; 1])
Tright =5×2表VAR1 VAR2 ____ 6 5 1 4 1 9 6 6 8 1

创建一个新表,Ť从表包含数据TleftTright。用VAR2在表TleftTright作为关键变量对加入功能。

T =加入(Tleft,Tright,“钥匙”'VAR2'
T =5×4表Var1_Tleft VAR2 VAR3 Var1_Tright __________ ____ ____ ___________ 10 5 10 6 4 4 3 1 2 9 8 1 3 6 8 6 7 1 4 8

加入增加了一个独特的后缀添加到非关键变量,VAR1,为了区分从表中的数据TleftTright

从表中的数据创建一个新表TleftTright。如果有任何非关键变量在两个表中具有相同的名称,只保留从表复印件Tleft

创建一个表,Tleft

Tleft =表([10; 4; 2; 3; 7],[5; 4; 9; 6; 1])
Tleft =5×2表VAR1 VAR2 ____ 10 5 4 4 2 9 3 6 7 1

创建一个表,Tright,捐赠VAR2Tright相同的内容VAR2从表Tleft

Tright =表([6; 1; 1; 6; 8],[5; 4; 9; 6; 1],[10; 3; 8; 8; 4])
Tright =5×3表VAR1 VAR2 VAR3 ____ ____ ____ 6 5 10 1 4 3 1 9 8 6 6 8 8 1 4

创建一个新表,Ť与来自表中的数据TleftTright。用VAR2作为关键变量对加入功能,只保留副本VAR1从表Tleft。输出表Ť不包含VAR1从表中的数据Tright

T =加入(Tleft,Tright,“钥匙”'VAR2''KeepOneCopy''VAR1'
T =5×3表VAR1 VAR2 VAR3 ____ ____ ____ 10 5 10 4 4 3 2 9 8 3 6 8 7 1 4

创建一个表,Tleft

Tleft =表(['M';'M';'F';'F';'F'],[38; 43; 38; 40; 49],...'VariableNames'{'性别''年龄'},...'RowNames'{“史密斯”'约翰逊'“威廉姆斯”“琼斯”'棕色'})
Tleft =5×2表性别年龄______ ___史密斯男性38约翰逊M 43·威廉姆斯˚F38琼斯˚F40布朗˚F49

创建一个表,Tright,使得行Tleft和行Tright有一对一的对应。

Tright =表([64; 69; 67; 71; 64],...[119; 163; 133; 176; 131],...[122 80;109 77;117 75;124 93;125 83],...'VariableNames'{'高度''重量''血压'},...'RowNames'{'棕色''约翰逊'“琼斯”“史密斯”“威廉姆斯”})
Tright =5×3表身高体重血压______ ______ _____________布朗64 119 122 80约翰逊69 163 109 77 67琼斯133 117 75 71个史密斯176个124个93个64威廉姆斯131 125 83

创建一个新表,Ť与来自表中的数据TleftTright。使用行名称作为关键变量的载体。(行名称的表的矢量的名字是'行',如图Tleft.Properties.DimensionNames {1}。)

T =加入(Tleft,Tright,“钥匙”'行'
T =5×5表性别年龄身高体重血压______ ___ ______ ______ _____________史密斯男性38 71 176 124 93约翰逊M 43 69 163 109 77威廉姆斯˚F38 64 131 125 83琼斯˚F40 67 133 117 75布朗˚F49 64 119 122 80

的行Ť处于相同的顺序Tleft

创建一个表,Tleft

Tleft =表([10; 4; 2; 3; 7],[5; 4; 9; 6; 1],[10; 3; 8; 8; 4])
Tleft =5×3表VAR1 VAR2 VAR3 ____ ____ ____ 10 5 10 4 4 3 2 9 8 3 6 8 7 1 4

创建一个表,Tright,捐赠VAR2Tright相同的内容VAR1从表Tleft,但在不同的顺序。

Tright =表([6; 1; 1; 6; 8],[2; 3; 4; 7; 10])
Tright =5×2表VAR1 VAR2 ____ 6 2 1 3 1 4 6 7 8 10

创建一个新表,Ť从表包含数据TleftTright。用VAR1从表TleftVAR2从表Tright作为关键变量的加入功能。

[T,iright] =加入(Tleft,Tright,'LeftKeys'1,'RightKeys',2)
T =5×4表Var1_Tleft VAR2 VAR3 Var1_Tright __________ ____ ____ ___________ 10 5 10 8 4 4 3 1 2 9 8 6 3 6 8 7 1 1 4 6
iright =5×15 3 1 2 4

Ť是在水平并置TleftTright(iright,1)

创建具有相同的行次,但不同变量的两个时间段。

流量= [0.8 0.9 0.1 0.7 0.9]';噪声= [0 1 1.5 2 2.3]';Tleft =时间表(小时(1:5)”,交通,噪音)
Tleft =5×2时间表时间交通噪声____ _______ _____ 1小时0.8 0 2小时0.9 1 3小时0.1 1.5 4小时0.7 2 5小时0.9 2.3
距离= [0.88 0.86 0.91 0.9 0.86]';Tright =时间表(小时(1:5)”,距离)
Tright =5×1时间表时间距离____ ________ 1个小时0.88 2小时0.86 3小时0.91 4小时0.9 5小时0.86

合并的时间表。加入使用排次为关键变量。

T =加入(Tleft,Tright)
T =5×3时间表时间交通噪声距离____ _______ _____ ________ 1个小时0.8 0 0.88 2小时0.9 1 0.86 3小时0.1 1.5 0.91 4小时0.7 2 0.9 5小时0.9 2.3 0.86

创建一个时间表和一张桌子。

测量= [0.13 0.22 0.31 0.42 0.53 0.57 0.67 0.81 0.90 1.00]';设备= ['一个';'B';'一个';'B';'一个';'B';'一个';'B';'一个';'B']。Tleft =时间表(秒(1:10)”,测量,装置)
Tleft =10×2时间表时间测量设备______ ____________ ______ 1秒0.13 A 2秒0.22乙3秒0.31 A 4秒0.42 B 5秒0.53 A 6秒0.57乙7秒0.67 A 8秒0.81乙9秒0.9 10秒1个乙
设备= ['一个';'B']。精度= [0.023; 0.037];Tright =表(设备,精度)
Tright =2×2表设备精度______ ________甲0.023 0.037乙

合并的时间表和桌子。设备是的关键变量,因为这两个TleftTright有一个同名的变量。Ť是的时间表。

T =加入(Tleft,Tright)
T =10×3时间表时间测量装置的精度______ ____________ ______ ________ 1秒0.13 0.023 2秒0.22乙0.037 3秒0.31阿0.023 4秒0.42乙0.037 5秒0.53 0.023 6秒0.57乙0.037 7秒0.67 0.023 8秒0.81乙0.037 9秒0.9甲0.023 10秒1个乙0.037

输入参数

全部收缩

左表,指定为表或时间表。对于所有的关键变量,每行Tleft必须完全一排匹配Tright

右表,指定为表或时间表。对于所有的关键变量,每行Tright必须完全一排匹配Tleft

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。你可以以任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:'密钥',2使用在第二可变Tleft和第二可变Tright作为关键变量。

变量作为密钥使用,指定为逗号分隔的一对组成的“钥匙”和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。

你不能使用“钥匙”用名称 - 值对参数'LeftKeys''RightKeys'名称 - 值对的参数。

行标签从输入表或时间表的载体可以是键,单独地或与其他关键变量组合。行标签是一个表的行名称或时间表的行倍。要使用此向量作为重点,将其指定为'行'(为一个表的行的名称),作为行倍时间表矢量的名称,或作为值Ť.Properties.DimensionNames {1},其中Ť为表或时间表。

为了向后兼容,你也可以指定的值“钥匙”'RowNames'什么时候TleftTright与行的名称表。然而,最好的做法是指定的值“钥匙”作为行名的向量的名称。

例:'钥匙',[1 3]使用来自第一和第三变量TleftTright作为关键变量。

例:'钥匙',{ 'X', 'Y'}使用名为变量XÿTleftTright作为关键变量。

例:“钥匙”,“行”使用的行名的载体TleftTright作为关键变量,如果两个TleftTright与行的名称表。

变量在使用的密钥Tleft,指定为逗号分隔的一对组成的'LeftKeys'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。

您必须使用'LeftKeys'在用连词名称 - 值对参数'RightKeys'名称 - 值对的参数。'LeftKeys''RightKeys'两者都必须指定相同数量的关键变量。加入在对键值TleftTright根据他们的订单上。

行标签从输入表或时间表的载体可以是键,单独地或与其他关键变量组合。行标签是一个表的行名称或时间表的行倍。要使用此向量作为重点,将其指定为'行'(为一个表的行的名称),作为行倍时间表矢量的名称,或作为值Ť.Properties.DimensionNames {1},其中Ť为表或时间表。

例:'LeftKeys',1仅使用在所述第一可变Tleft作为关键变量。

变量在使用的密钥Tright,指定为逗号分隔的一对组成的'RightKeys'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。

您必须使用'RightKeys'在用连词名称 - 值对参数'LeftKeys'名称 - 值对的参数。'LeftKeys''RightKeys'两者都必须指定相同数量的关键变量。加入在对键值TleftTright根据他们的订单上。

行标签从输入表或时间表的载体可以是键,单独地或与其他关键变量组合。行标签是一个表的行名称或时间表的行倍。要使用此向量作为重点,将其指定为'行'(为一个表的行的名称),作为行倍时间表矢量的名称,或作为值Ť.Properties.DimensionNames {1},其中Ť为表或时间表。

例:'RightKeys',3仅使用在所述第三可变Tright作为关键变量。

从变量Tleft包括在Ť,指定为逗号分隔的一对组成的'LeftVariables'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。

您可以使用'LeftVariables'包含或排除的关键变量,以及非关键变量,从Ť。但是,你不能包括来自行名称或行时间Tleft,因为它们不是变量。

默认,加入包括所有变量Tleft

从变量Tright包括在Ť,指定为逗号分隔的一对组成的'RightVariables'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。

您可以使用'RightVariables'包含或排除的关键变量,以及非关键变量,从Ť。但是,你不能包括来自行名称或行时间Tright,因为它们不是变量。

默认,加入包括所有变量Tright除了关键变量。

变量其中加入只保留从复制Tleft,指定为逗号分隔的一对组成的'KeepOneCopy'和字符向量,特征向量,或者字符串数组,指定的变量名的单元阵列。

关键变量出现一次Ť,但如果具有相同名称的非关键变量在发生TleftTright, 然后加入保留了两个拷贝Ť默认。使用'KeepOneCopy'名称 - 值对只保留从复制Tleft

例:'KeepOneCopy',VAR2只保留从复制Tleft在非关键变量VAR2

输出参数

全部收缩

从合并数据TleftTright,返回表或时间表。桌子,Ť包含一行中的每一行Tleft,出现在相同的顺序。

加入创建Ť通过水平级联Tleft(:,LeftVars)Tright(iright,RightVars)。默认,LeftVars是所有的变量TleftRightVars是全部来自非关键变量Tright。除此以外,LeftVars由被指定的变量'LeftVariables'名称 - 值对的参数,和RightVars由被指定的变量'RightVariables'名称 - 值对的参数。

如果TleftTright包含具有相同名称的非关键变量,加入增加了一个独特的后缀以在相应的变量名Ť,除非您指定'KeepOneCopy'名称 - 值对的参数。

如果Tleft是一个表,然后Ť也是一个表。如果Tleft是一个时间表,并Tright或者是一个时间表或台,然后Ť是的时间表。

你可以存储更多的元数据Ť如说明,可变单元,变量名,和行的名称。欲了解更多信息,请参阅的属性部分要么时间表

索引Tright,返回为列向量。中的每个元素iright标识的行Tright对应于在输出表中或时间表该行,Ť

更多关于

全部收缩

关键变量

变量用来匹配和组合输入表之间的数据TleftTright

核心价值

在一个关键的变量值Tleft要么Tright

算法

加入函数首先找到一个或多个关键变量。然后,加入使用关键变量来查找输入表中的行Tright每一行匹配输入表Tleft,并结合这些行以创建输出表中的行Ť

  • 如果在关键值之间的一对一的映射TleftTright, 然后加入排序数据Tright并追加到表Tleft

  • 如果在关键值之间的多到一的映射TleftTright, 然后加入排序和重复数据Tright追加到表之前Tleft

  • 如果是在一个关键变量数据Tright不映射到一个关键值Tleft, 然后加入不包括在输出表中的数据,Ť

扩展功能

也可以看看

||

介绍了在R2013b