加入
使用关键变量按行组合两个表或时间表
描述
组合表格或时间表T
=加入(Tleft
,Tright
)Tleft
而且Tright
使用关键变量.两个表中名称相同的所有变量都是关键变量。表连接从右表追加行,其中它的关键变量与左表的关键变量中的值匹配。例如,如果Tleft
具有命名为Key1
而且Var1
,Tright
有变量Key1
而且Var2
,然后T =加入(Tleft Tright)
使用Key1
作为一个关键变量。
左表和右表中关键变量的匹配值的顺序不必相同。的关键变量Tright
必须包含的关键变量中的所有值Tleft
.的关键变量中,每个值只能出现一次Tright
,但可以在关键变量中出现多次Tleft
.
输入可以是表格、时间表,也可以是其中之一。
如果
Tleft
那是桌子吗加入
返回T
作为一张桌子。如果
Tleft
那么,有时间表吗加入
返回T
作为一个时间表。
的行标签的向量Tleft
而且Tright
可能是关键变量。行标签是表的行名,或时间表的行时间。
例子
将值从一个表附加到另一个表
创建一个表,Tleft
.
Tleft = table({贾尼斯的,“乔纳斯”,“哈维尔”,“杰瑞”,“朱莉”}”,[1,2;1;2;1],...“VariableNames”, {“员工”“部门”})
Tleft =5×2表员工的部门 __________ __________ {' 珍妮丝'}1{“乔纳斯”}2{“哈维尔”}1{“杰瑞”}2{“朱莉”}1
创建一个表,Tright
的一个共同的变量Tleft
.
Tright = table([1 2]',{“玛丽”“蒙娜丽莎”}',...“VariableNames”, {“部门”“经理”})
Tright =2×2表部门经理 __________ ________ 1{“玛丽”}2{“蒙娜丽莎”}
创建一个新表,T
,包含表中的数据Tleft
而且Tright
.使用加入
函数来重复和追加经理
表中数据Tright
到表中的数据Tleft
,根据关键变量,部门
.
T = join(左,右)
T =5×3表员工的部门经理 __________ __________ ________ {' 珍妮丝'}1{“玛丽”}{“乔纳斯”}2{“蒙娜丽莎”}{“哈维尔”}1{“玛丽”}{“杰瑞”}2{“蒙娜丽莎”}{“朱莉”}1{“玛丽”}
合并具有相同变量的表
创建一个表,Tleft
.
Tleft = table([5;12;23;2;6],...{“麦片”;“披萨”;“鲑鱼”;“饼干”;“披萨”},...“VariableNames”, {“年龄”,“FavoriteFood”},...“RowNames”, {“艾米”,“鲍比”,“冬青”,“哈利”,“莎莉”})
Tleft =5×2表年龄最喜欢的食物___ ____________艾米5{“麦片”}鲍比12{“披萨”}霍莉23{“鲑鱼”}哈利2{“饼干”}萨利6{“披萨”}
创建一个表,Tright
的一个变量Tleft
.
Tright = table({“麦片”;“饼干”;“披萨”;“鲑鱼”;“蛋糕”},...(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 - '}
创建一个新表,T
,数据来自表格Tleft
而且Tright
.共同的变量,FavoriteFood
属性用作键变量加入
函数。
T = join(左,右)
T =5×4表年龄FavoriteFood卡路里NutritionGrade ___ ____________ ________ ______________ 艾米110{“麦片”}{B} 140年博比12日{“披萨”}{的B -}冬青23{“鲑鱼”}367 {A}哈利160{‘饼干’}{' D '}莎莉140{“披萨”}{' B - '}
表格T
不包括表的最后一行的信息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
,给Var2
的表Tright
内容与Var2
从表Tleft
.
Tright = table([6;1;1;6;8],[5;4;9;6;1])
Tright =5×2表Var1 Var2 ____ ____ 6 5 1 4 1 9 6 6 8
创建一个新表,T
,包含表中的数据Tleft
而且Tright
.使用Var2
在表中Tleft
而且Tright
的关键变量加入
函数。
T = join(左,右,右,“钥匙”,“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
,以区分数据与表Tleft
而且Tright
.
保留一份非关键变量的副本
用表中的数据创建一个新表Tleft
而且Tright
.如果两个表中有相同名称的非键变量,则只保留表的副本Tleft
.
创建一个表,Tleft
.
Tleft = table([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
,给Var2
的表Tright
内容与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
创建一个新表,T
,数据来自表格Tleft
而且Tright
.使用Var2
的关键变量加入
功能,只保留副本Var1
从表Tleft
.输出表T
不包含Var1
表中数据Tright
.
T = join(左,右,右,“钥匙”,“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 = table([“米”;“米”;“F”;“F”;“F”]、[38,43岁,38;40;49),...“VariableNames”, {“性别”“年龄”},...“RowNames”, {“史密斯”“约翰逊””威廉姆斯“琼斯”“棕色”})
Tleft =5×2表性别年龄______ ___史密斯M 38约翰逊M 43威廉姆斯F 38琼斯F 40布朗F 49
创建一个表,Tright
,这样的行Tleft
一排排的Tright
进行一对一的通信。
Tright = table([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
创建一个新表,T
,数据来自表格Tleft
而且Tright
.使用行名的向量作为关键变量。(表的行名向量的名称为“行”
,表示为Tleft.Properties.DimensionNames {1}
.)
T = join(左,右,右,“钥匙”,“行”)
T =5×5表性别年龄身高体重血压_________ ____________ _____________史密斯M 38 71 176 124 93约翰逊M 43 69 163 109 77威廉姆斯F 38 64 131 125 83琼斯F 40 67 133 117 75布朗F 49 64 119 122 80
一排排的T
是相同的顺序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
,给Var2
的表Tright
内容与Var1
从表Tleft
,但顺序不同。
Tright = table([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
创建一个新表,T
,包含表中的数据Tleft
而且Tright
.使用Var1
从表Tleft
与Var2
从表Tright
的关键变量加入
函数。
[T, right] = join(左,右,右,“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 1 7 1 4 6 6
iright =5×15 3 1 2 4
T
是水平串联的吗Tleft
而且Tright (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]';右=时间表(小时(1:5)',距离)
Tright =5×1的时间表时间距离____ ________ 1小时0.88 2小时0.86 3小时0.91 4小时0.9 5小时0.86
合并时间表。加入
使用行时间作为关键变量。
T = join(左,右)
T =5×3的时间表时间交通噪音距离____ _______ _____ ________ 1小时0.8 0 0.88 2小时0.91 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 B 3秒0.31 A 4秒0.42 B 5秒0.53 A 6秒0.57 B 7秒0.67 A 8秒0.81 B 9秒0.9 A 10秒1 B
设备= [“一个”;“B”];精度= [0.023;0.037];Tright =表(设备,准确度)
Tright =2×2表设备精度______ ________ A 0.023 B 0.037
合并时间表和表格。设备
关键变量是因为两者吗Tleft
而且Tright
使用该名称创建一个变量。T
是一个时间表。
T = join(左,右)
T =10×3的时间表时间测量设备精度______ ____________ ______ ________ 1秒0.13 A 0.023 2秒0.22 B 0.037 3秒0.31 A 0.023 4秒0.42 B 0.037 5秒0.53 A 0.023 6秒0.57 B 0.037 7秒0.67 A 0.023 8秒0.81 B 0.037 9秒0.9 A 0.023 10秒1 B 0.037
输入参数
Tleft
- - - - - -左表
表格|时间表
左表,指定为表或时间表对于所有关键变量,每一行的Tleft
必须精确匹配一行Tright
.
Tright
- - - - - -正确的表
表格|时间表
右表,指定为表或时间表对于所有关键变量,每一行的Tright
必须精确匹配一行Tleft
.
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“钥匙”,2
使用第二个变量Tleft
第二个变量Tright
作为关键变量。
键
- - - - - -用作键的变量
正整数|正整数向量|字符串数组|特征向量|字符向量的单元格数组|模式
标量|逻辑向量
用作键的变量,指定为逗号分隔的对,由“钥匙”
一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,模式
标量,或者逻辑向量。
您不能使用“钥匙”
参数的名称-值对“LeftKeys”
而且“RightKeys”
名称-值对参数。
输入表或时间表中的行标签向量可以是一个键,单独使用也可以与其他键变量结合使用。行标签是表的行名或时间表的行时间。若要使用此向量作为键,请将其指定为“行”
(对于表的行名),作为行时间的时间表向量的名称,或作为的值
,在那里T
.Properties.DimensionNames {1}
是表格或时间表。T
为了向后兼容,还可以指定的值“钥匙”
作为“RowNames”
当Tleft
而且Tright
是具有行名的表。但是,最佳实践是指定的值“钥匙”
作为行名向量的名称。
例子:“钥匙”,[1 3]
使用的第一个和第三个变量Tleft
而且Tright
作为关键变量。
例子:“钥匙”,{' X ', ' Y '}
使用命名为X
而且Y
在Tleft
而且Tright
作为关键变量。
例子:“钥匙”,“行”
的行名的向量Tleft
而且Tright
作为关键变量,如果两者都是Tleft
而且Tright
是具有行名的表。
LeftKeys
- - - - - -用作键的变量Tleft
正整数|正整数向量|字符串数组|特征向量|字符向量的单元格数组|模式
标量|逻辑向量
用作键的变量Tleft
,指定为逗号分隔的对,由“LeftKeys”
一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,模式
标量,或者逻辑向量。
你必须使用“LeftKeys”
参数的名称-值对“RightKeys”
名称-值对参数。“LeftKeys”
而且“RightKeys”
两者必须指定相同数量的关键变量。加入
对键值Tleft
而且Tright
根据它们的顺序。
输入表或时间表中的行标签向量可以是一个键,单独使用也可以与其他键变量结合使用。行标签是表的行名或时间表的行时间。若要使用此向量作为键,请将其指定为“行”
(对于表的行名),作为行时间的时间表向量的名称,或作为的值
,在那里T
.Properties.DimensionNames {1}
是表格或时间表。T
例子:“LeftKeys”,1
只使用中的第一个变量Tleft
作为一个关键变量。
RightKeys
- - - - - -用作键的变量Tright
正整数|正整数向量|字符串数组|特征向量|字符向量的单元格数组|模式
标量|逻辑向量
用作键的变量Tright
,指定为逗号分隔的对,由“RightKeys”
一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,模式
标量,或者逻辑向量。
你必须使用“RightKeys”
参数的名称-值对“LeftKeys”
名称-值对参数。“LeftKeys”
而且“RightKeys”
两者必须指定相同数量的关键变量。加入
对键值Tleft
而且Tright
根据它们的顺序。
输入表或时间表中的行标签向量可以是一个键,单独使用也可以与其他键变量结合使用。行标签是表的行名或时间表的行时间。若要使用此向量作为键,请将其指定为“行”
(对于表的行名),作为行时间的时间表向量的名称,或作为的值
,在那里T
.Properties.DimensionNames {1}
是表格或时间表。T
例子:“RightKeys”,3
中只使用第三个变量Tright
作为一个关键变量。
LeftVariables
- - - - - -变量Tleft
包括在T
正整数|正整数向量|字符串数组|特征向量|字符向量的单元格数组|模式
标量|逻辑向量
变量Tleft
包括在T
,指定为逗号分隔的对,由“LeftVariables”
一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,模式
标量,或者逻辑向量。
你可以使用“LeftVariables”
包含或排除关键变量以及非关键变量T
.但是,不能包含的行名或行时间Tleft
,因为它们不是变量。
默认情况下,加入
包括所有变量Tleft
.
RightVariables
- - - - - -变量Tright
包括在T
正整数|正整数向量|字符串数组|特征向量|字符向量的单元格数组|模式
标量|逻辑向量
变量Tright
包括在T
,指定为逗号分隔的对,由“RightVariables”
一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,模式
标量,或者逻辑向量。
你可以使用“RightVariables”
包含或排除关键变量以及非关键变量T
.但是,不能包含的行名或行时间Tright
,因为它们不是变量。
默认情况下,加入
包括所有变量Tright
除了关键变量。
KeepOneCopy
- - - - - -的变量加入
仅保留的副本Tleft
字符串数组|特征向量|字符向量的单元格数组|模式
标量
的变量加入
仅保留的副本Tleft
,指定为逗号分隔的对,由“KeepOneCopy”
字符串数组,字符向量,单元格数组字符向量,或者模式
指定变量名的标量。
关键变量只出现一次T
中出现相同名称的非关键变量Tleft
而且Tright
,然后加入
将两个副本保留在T
默认情况下。使用“KeepOneCopy”
只保留其副本的名称-值对Tleft
.
例子:KeepOneCopy, Var2
只保留副本Tleft
非关键变量的Var2
.
输出参数
T
-合并来自Tleft
而且Tright
表|时间表
合并数据Tleft
而且Tright
,作为表格或时间表归还。桌上,T
,中每一行包含一行Tleft
,以相同的顺序出现。
加入
创建T
通过水平连接Tleft (:, LeftVars)
而且Tright (iright RightVars)
.默认情况下,LeftVars
所有的变量都是Tleft
,RightVars
是不是所有的非关键变量都来自Tright
.否则,LeftVars
属性指定的变量组成“LeftVariables”
名称-值对参数,和RightVars
属性指定的变量组成“RightVariables”
名称-值对参数。
如果Tleft
而且Tright
包含同名的非关键变量,加入
中对应的变量名添加唯一的后缀T
,除非指定“KeepOneCopy”
名称-值对参数。
如果Tleft
那是桌子吗T
也是一个表。如果Tleft
是一个时间表Tright
那么是时间表还是表格呢T
是一个时间表。
iright
-索引到Tright
列向量
索引Tright
,作为列向量返回。的每个元素iright
中标识行的Tright
对应于输出表或时间表中的那一行,T
.
更多关于
算法
的加入
函数首先查找一个或多个关键变量。然后,加入
使用关键变量在输入表中查找行Tright
匹配输入表中的每一行Tleft
,并将这些行组合在输出表中创建一行T
.
中键值之间是否存在一一对应关系
Tleft
而且Tright
,然后加入
对数据进行排序Tright
并将其追加到表中Tleft
.中键值之间是否存在多对一映射
Tleft
而且Tright
,然后加入
中的数据进行排序和重复Tright
在将其追加到表之前Tleft
.如果有数据中的关键变量为
Tright
中的键值Tleft
,然后加入
在输出表中不包括该数据,T
.
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
要加入一个高时间表和一个高表,时间表必须先输入到
加入
.这些名称-值参数的值不支持模式表达式:金宝app
“钥匙”
“LeftKeys”
“RightKeys”
“LeftVariables”
“RightVariables”
“KeepOneCopy”
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
一般来说,输入表不能有同名的非键变量。但是,如果你指定了name-value参数,你可以连接输入表的子集:
“KeepOneCopy”
,其中只列出从左侧输入表中获取的变量。“LeftVariables”
而且“RightVariables”
,其中列出从左侧输入表或右侧输入表中取出的变量,但不能同时取出。
这些name-value参数的值必须为常量:
“钥匙”
“LeftKeys”
“RightKeys”
“LeftVariables”
“RightVariables”
“KeepOneCopy”
这些名称-值参数的值不支持模式表达式:金宝app
“钥匙”
“LeftKeys”
“RightKeys”
“LeftVariables”
“RightVariables”
“KeepOneCopy”
不支持嵌套表和时间表。金宝app
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
版本历史
在R2013b中引入
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。