Объедините две таблицы или расписания по строкам с помощью ключевых переменных
объединяет таблицы или расписания T = join(Tleft,Tright)Tleft и Tright использование ключевых переменных. Все переменные с одинаковыми именами в обеих таблицах являются ключевыми переменными. Соединение таблицы добавляет строки из правой таблицы, где ее ключевые переменные совпадают со значениями в ключевых переменных левой таблицы. Для примера, если Tleft имеет переменные с именем Key1 и Var1, и Tright имеет переменные Key1 и Var2, затем T=join(Tleft,Tright) использует Key1 как ключевая переменная.

Совпадающие значения ключевых переменных в левой и правой таблицах не должны быть в одном порядке. Кроме того, ключевые переменные Tright должны содержать все значения в ключевых переменных Tleft. Каждое значение должно происходить только один раз в ключевых переменных Tright, но может возникнуть несколько раз в ключевых переменных Tleft.
Входами могут быть таблицы, расписания или одна из каждой.
Если Tleft является таблицей, тогда join возвращает T как таблица.
Если Tleft является расписанием, тогда join возвращает T как расписание.
Векторы меток строк Tleft и Tright могут быть ключевыми переменными. Метки строк являются именами строк таблицы или временами строк расписания.
соединяет таблицы или расписания с дополнительными опциями, заданными одним или несколькими T = join(Tleft,Tright,Name,Value)Name,Value аргументы в виде пар.
Для примера можно задать, какие переменные использовать в качестве ключевых переменных.
Составьте таблицу, Tleft.
Tleft = table({'Janice','Jonas','Javier','Jerry','Julie'}',[1;2;1;2;1],...
'VariableNames',{'Employee' 'Department'})Tleft=5×2 table
Employee Department
__________ __________
{'Janice'} 1
{'Jonas' } 2
{'Javier'} 1
{'Jerry' } 2
{'Julie' } 1
Составьте таблицу, Tright, с переменной, общей с Tleft.
Tright = table([1 2]',{'Mary' 'Mona'}',...
'VariableNames',{'Department' 'Manager'})Tright=2×2 table
Department Manager
__________ ________
1 {'Mary'}
2 {'Mona'}
Создайте новую таблицу, T, содержащие данные из таблиц Tleft и Tright. Используйте join функцию для повторения и добавления Manager данные из табличных Tright к данным из табличных Tleft, на основе ключевой переменной, Department.
T = join(Tleft,Tright)
T=5×3 table
Employee Department Manager
__________ __________ ________
{'Janice'} 1 {'Mary'}
{'Jonas' } 2 {'Mona'}
{'Javier'} 1 {'Mary'}
{'Jerry' } 2 {'Mona'}
{'Julie' } 1 {'Mary'}
Составьте таблицу, Tleft.
Tleft = table([5;12;23;2;6],... {'cereal';'pizza';'salmon';'cookies';'pizza'},... 'VariableNames',{'Age','FavoriteFood'},... 'RowNames',{'Amy','Bobby','Holly','Harry','Sally'})
Tleft=5×2 table
Age FavoriteFood
___ ____________
Amy 5 {'cereal' }
Bobby 12 {'pizza' }
Holly 23 {'salmon' }
Harry 2 {'cookies'}
Sally 6 {'pizza' }
Составьте таблицу, Tright, с одной переменной, общей с Tleft.
Tright = table({'cereal';'cookies';'pizza';'salmon';'cake'},...
[110;160;140;367;243],...
{'B';'D';'B-';'A';'C-'},...
'VariableNames',{'FavoriteFood','Calories','NutritionGrade'})Tright=5×3 table
FavoriteFood Calories NutritionGrade
____________ ________ ______________
{'cereal' } 110 {'B' }
{'cookies'} 160 {'D' }
{'pizza' } 140 {'B-'}
{'salmon' } 367 {'A' }
{'cake' } 243 {'C-'}
Создайте новую таблицу, T, с данными из таблиц Tleft и Tright. Переменная в общем, FavoriteFood, используется в качестве ключевой переменной join функция.
T = join(Tleft,Tright)
T=5×4 table
Age FavoriteFood Calories NutritionGrade
___ ____________ ________ ______________
Amy 5 {'cereal' } 110 {'B' }
Bobby 12 {'pizza' } 140 {'B-'}
Holly 23 {'salmon' } 367 {'A' }
Harry 2 {'cookies'} 160 {'D' }
Sally 6 {'pizza' } 140 {'B-'}
Табличные T не включает информацию из последней строки таблицы Tright об 'cake' поскольку в таблице нет соответствующей записи Tleft.
Составьте таблицу, Tleft.
Tleft = table([10;4;2;3;7],[5;4;9;6;1],[10;3;8;8;4])
Tleft=5×3 table
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 table
Var1 Var2
____ ____
6 5
1 4
1 9
6 6
8 1
Создайте новую таблицу, T, содержащие данные из таблиц Tleft и Tright. Использование Var2 в таблицах Tleft и Tright как ключевая переменная к join функция.
T = join(Tleft,Tright,'Keys','Var2')
T=5×4 table
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
join добавляет уникальный суффикс к переменной nonkey, Var1, чтобы отличить данные от таблиц Tleft и Tright.
Составьте новую таблицу с данными из таблиц Tleft и Tright. Если какие-либо неключевые переменные имеют одинаковое имя в обеих таблицах, сохраните только копию из таблицы Tleft.
Составьте таблицу, Tleft.
Tleft = table([10;4;2;3;7],[5;4;9;6;1])
Tleft=5×2 table
Var1 Var2
____ ____
10 5
4 4
2 9
3 6
7 1
Составьте таблицу, Tright, дача Var2 от таблицы Tright то же содержимое что и Var2 из табличных Tleft.
Tright = table([6;1;1;6;8],[5;4;9;6;1],[10;3;8;8;4])
Tright=5×3 table
Var1 Var2 Var3
____ ____ ____
6 5 10
1 4 3
1 9 8
6 6 8
8 1 4
Создайте новую таблицу, T, с данными из таблиц Tleft и Tright. Использование Var2 как ключевая переменная к join и хранить только копию Var1 из табличных Tleft. Система выхода таблицы T не содержит Var1 данные из табличных Tright.
T = join(Tleft,Tright,'Keys','Var2','KeepOneCopy','Var1')
T=5×3 table
Var1 Var2 Var3
____ ____ ____
10 5 10
4 4 3
2 9 8
3 6 8
7 1 4
Составьте таблицу, Tleft.
Tleft = table(['M';'M';'F';'F';'F'],[38;43;38;40;49],... 'VariableNames',{'Gender' 'Age'},... 'RowNames',{'Smith' 'Johnson' 'Williams' 'Jones' 'Brown'})
Tleft=5×2 table
Gender Age
______ ___
Smith M 38
Johnson M 43
Williams F 38
Jones F 40
Brown 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',{'Height' 'Weight' 'BloodPressure'},... 'RowNames',{'Brown' 'Johnson' 'Jones' 'Smith' 'Williams'})
Tright=5×3 table
Height Weight BloodPressure
______ ______ _____________
Brown 64 119 122 80
Johnson 69 163 109 77
Jones 67 133 117 75
Smith 71 176 124 93
Williams 64 131 125 83
Создайте новую таблицу, T, с данными из таблиц Tleft и Tright. Используйте векторы имен строк как ключевые переменные. (Имя вектора имен строк таблицы 'Row', как показано на Tleft.Properties.DimensionNames{1}.)
T = join(Tleft,Tright,'Keys','Row')
T=5×5 table
Gender Age Height Weight BloodPressure
______ ___ ______ ______ _____________
Smith M 38 71 176 124 93
Johnson M 43 69 163 109 77
Williams F 38 64 131 125 83
Jones F 40 67 133 117 75
Brown F 49 64 119 122 80
Строки T находятся в том же порядке, что и Tleft.
Составьте таблицу, Tleft.
Tleft = table([10;4;2;3;7],[5;4;9;6;1],[10;3;8;8;4])
Tleft=5×3 table
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 table
Var1 Var2
____ ____
6 2
1 3
1 4
6 7
8 10
Создайте новую таблицу, T, содержащие данные из таблиц Tleft и Tright. Использование Var1 из табличных Tleft с Var2 из табличных Tright как ключевые переменные к join функция.
[T,iright] = join(Tleft,Tright,'LeftKeys',1,'RightKeys',2)
T=5×4 table
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
iright = 5×1
5
3
1
2
4
T - горизонтальная конкатенация Tleft и Tright(iright,1).
Создайте два расписания с одинаковыми временами строк, но различными переменными.
Traffic = [0.8 0.9 0.1 0.7 0.9]'; Noise = [0 1 1.5 2 2.3]'; Tleft = timetable(hours(1:5)',Traffic,Noise)
Tleft=5×2 timetable
Time Traffic Noise
____ _______ _____
1 hr 0.8 0
2 hr 0.9 1
3 hr 0.1 1.5
4 hr 0.7 2
5 hr 0.9 2.3
Distance = [0.88 0.86 0.91 0.9 0.86]'; Tright = timetable(hours(1:5)',Distance)
Tright=5×1 timetable
Time Distance
____ ________
1 hr 0.88
2 hr 0.86
3 hr 0.91
4 hr 0.9
5 hr 0.86
Объедините расписания. join использует время строки в качестве ключевых переменных.
T = join(Tleft,Tright)
T=5×3 timetable
Time Traffic Noise Distance
____ _______ _____ ________
1 hr 0.8 0 0.88
2 hr 0.9 1 0.86
3 hr 0.1 1.5 0.91
4 hr 0.7 2 0.9
5 hr 0.9 2.3 0.86
Составьте расписание и таблицу.
Measurements = [0.13 0.22 0.31 0.42 0.53 0.57 0.67 0.81 0.90 1.00]'; Device = ['A';'B';'A';'B';'A';'B';'A';'B';'A';'B']; Tleft = timetable(seconds(1:10)',Measurements,Device)
Tleft=10×2 timetable
Time Measurements Device
______ ____________ ______
1 sec 0.13 A
2 sec 0.22 B
3 sec 0.31 A
4 sec 0.42 B
5 sec 0.53 A
6 sec 0.57 B
7 sec 0.67 A
8 sec 0.81 B
9 sec 0.9 A
10 sec 1 B
Device = ['A';'B']; Accuracy = [0.023;0.037]; Tright = table(Device,Accuracy)
Tright=2×2 table
Device Accuracy
______ ________
A 0.023
B 0.037
Объедините расписание и таблицу. Device является ключевой переменной, потому что обе Tleft и Tright иметь переменную с таким именем. T является расписанием.
T = join(Tleft,Tright)
T=10×3 timetable
Time Measurements Device Accuracy
______ ____________ ______ ________
1 sec 0.13 A 0.023
2 sec 0.22 B 0.037
3 sec 0.31 A 0.023
4 sec 0.42 B 0.037
5 sec 0.53 A 0.023
6 sec 0.57 B 0.037
7 sec 0.67 A 0.023
8 sec 0.81 B 0.037
9 sec 0.9 A 0.023
10 sec 1 B 0.037
Tleft - Левая таблицаЛевая таблица, заданная как таблица или расписание. Для всех ключевых переменных каждая строка Tleft должен совпадать с точностью в одну строку Tright.
Tright - Правая таблицаПравая таблица, заданная как таблица или расписание. Для всех ключевых переменных каждая строка Tright должен совпадать с точностью в одну строку Tleft.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'Keys',2 использует вторую переменную в Tleft и второй переменной в Tright как ключевые переменные.'Keys' - Переменные для использования в качестве ключейПеременные для использования в качестве ключей, заданные как разделенная разделенными запятой парами, состоящая из 'Keys' и положительное целое число, вектор положительных целых чисел, вектор символов, массив ячеек из векторов символов, строковые массивы или логический вектор.
Вы не можете использовать 'Keys' аргумент пары "имя-значение" со 'LeftKeys' и 'RightKeys' Аргументы пары "имя-значение".
Вектор меток строк из входа таблицы или расписания может быть ключом, отдельно или в комбинации с другими ключевыми переменными. Метки строк являются именами строк таблицы или временами строк расписания. Чтобы использовать этот вектор в качестве ключа, задайте его как 'Row' (для имен строк таблицы), как имя вектора timetable с указанием времени строки или как значение , где T.Properties. DimensionNames {1} - таблица или расписание.T
Для обратной совместимости можно также задать значение 'Keys' как 'RowNames' когда Tleft и Tright являются таблицами с именами строк. Однако лучшая практика состоит в том, чтобы определить значение 'Keys' как имя вектора имен строк.
Пример: 'Keys',[1 3] использует первую и третью переменные из Tleft и Tright как ключевые переменные.
Пример: 'Keys',{'X','Y'} использует переменные с именем X и Y в Tleft и Tright как ключевые переменные.
Пример: 'Keys','Row' использует векторы имен строк Tleft и Tright как ключевые переменные, если обе Tleft и Tright являются таблицами с именами строк.
'LeftKeys' - Переменные для использования в качестве ключей в TleftПеременные для использования в качестве ключей в Tleft, заданная как разделенная разделенными запятой парами, состоящая из 'LeftKeys' и положительное целое число, вектор положительных целых чисел, вектор символов, массив ячеек из векторов символов, строковые массивы или логический вектор.
Вы должны использовать 'LeftKeys' аргумент пары "имя-значение" в сочетании со 'RightKeys' аргумент пары "имя-значение". 'LeftKeys' и 'RightKeys' оба должны задавать одинаковое количество ключевых переменных. join связывает ключевые значения в Tleft и Tright исходя из их порядка.
Вектор меток строк из входа таблицы или расписания может быть ключом, отдельно или в комбинации с другими ключевыми переменными. Метки строк являются именами строк таблицы или временами строк расписания. Чтобы использовать этот вектор в качестве ключа, задайте его как 'Row' (для имен строк таблицы), как имя вектора timetable с указанием времени строки или как значение , где T.Properties. DimensionNames {1} - таблица или расписание.T
Пример: 'LeftKeys',1 использует только первую переменную в Tleft как ключевая переменная.
'RightKeys' - Переменные для использования в качестве ключей в TrightПеременные для использования в качестве ключей в Tright, заданная как разделенная разделенными запятой парами, состоящая из 'RightKeys' и положительное целое число, вектор положительных целых чисел, вектор символов, массив ячеек из векторов символов, строковые массивы или логический вектор.
Вы должны использовать 'RightKeys' аргумент пары "имя-значение" в сочетании со 'LeftKeys' аргумент пары "имя-значение". 'LeftKeys' и 'RightKeys' оба должны задавать одинаковое количество ключевых переменных. join связывает ключевые значения в Tleft и Tright исходя из их порядка.
Вектор меток строк из входа таблицы или расписания может быть ключом, отдельно или в комбинации с другими ключевыми переменными. Метки строк являются именами строк таблицы или временами строк расписания. Чтобы использовать этот вектор в качестве ключа, задайте его как 'Row' (для имен строк таблицы), как имя вектора timetable с указанием времени строки или как значение , где T.Properties. DimensionNames {1} - таблица или расписание.T
Пример: 'RightKeys',3 использует только третью переменную в Tright как ключевая переменная.
'LeftVariables' - Переменные из Tleft для включения в TПеременные из Tleft для включения в T, заданная как разделенная разделенными запятой парами, состоящая из 'LeftVariables' и положительное целое число, вектор положительных целых чисел, вектор символов, массив ячеек из векторов символов, строковые массивы или логический вектор.
Можно использовать 'LeftVariables' включить или исключить ключевые переменные, а также неключевые переменные из T. Однако вы не можете включать имена строк или значения времени строк из Tleft, потому что они не являются переменными.
По умолчанию join включает все переменные из Tleft.
'RightVariables' - Переменные из Tright для включения в TПеременные из Tright для включения в T, заданная как разделенная разделенными запятой парами, состоящая из 'RightVariables' и положительное целое число, вектор положительных целых чисел, вектор символов, массив ячеек из векторов символов, строковые массивы или логический вектор.
Можно использовать 'RightVariables' включить или исключить ключевые переменные, а также неключевые переменные из T. Однако вы не можете включать имена строк или значения времени строк из Tright, потому что они не являются переменными.
По умолчанию join включает все переменные из Tright кроме ключевых переменных.
'KeepOneCopy' - Переменные, для которых join сохраняет только копию из TleftПеременные, для которых join сохраняет только копию из Tleft, заданная как разделенная разделенными запятой парами, состоящая из 'KeepOneCopy' и вектор символов, массив ячеек из векторов символов или строковые массивы, задающий имена переменных.
Ключевые переменные появляются один раз в T, но если неключевые переменные с одинаковыми именами встречаются в Tleft и Tright, затем join сохраняет обе копии в T по умолчанию. Используйте 'KeepOneCopy' Пара "имя-значение", чтобы сохранить только копию из Tleft.
Пример: 'KeepOneCopy',Var2 сохраняет только копию из Tleft переменной nonkey Var2.
T - Объединенные данные из Tleft и TrightОбъединенные данные из Tleft и Tright, возвращается как таблица или расписание. Таблица, T, содержит по одной строке для каждой строки в Tleft, появляющийся в том же порядке.
join создает T путем горизонтальной конкатенации Tleft(:,LeftVars) и Tright(iright,RightVars). По умолчанию LeftVars все переменные Tleft, и RightVars все неключевые переменные из Tright. В противном случае LeftVars состоит из переменных, заданных в 'LeftVariables' аргумент пары "имя-значение" и RightVars состоит из переменных, заданных в 'RightVariables' аргумент пары "имя-значение".
Если Tleft и Tright содержат неключевые переменные с таким же именем, join добавляет уникальный суффикс к соответствующим именам переменных в T, если вы не задаете 'KeepOneCopy' аргумент пары "имя-значение".
Если Tleft является таблицей, тогда T также является таблицей. Если Tleft является расписанием и Tright является либо расписанием, либо таблицей, то T является расписанием.
Можно хранить дополнительные метаданные в T, таких как описания, модули переменной, имена переменных и имена строк. Для получения дополнительной информации смотрите разделы « Свойств» table или timetable.
iright - Индекс на TrightИндексируйте к Tright, возвращается как вектор-столбец. Каждый элемент iright определяет строку в Tright который соответствует этой строке в таблице выхода или timetable, T.
Переменная, используемая для согласования и объединения данных между входными таблицами Tleft и Tright.
Значение в ключевой переменной Tleft или Tright.
The join функция сначала находит одну или несколько ключевых переменных. Затем, join использует ключевые переменные, чтобы найти строку в входной таблице Tright который соответствует каждой строке в входной таблице Tleft, и объединяет эти строки, чтобы создать строку в выходной таблице T.
Если существует взаимно-однозначное отображение между ключевыми значениями в Tleft и Tright, затем join сортирует данные в Tright и добавляет его к таблице Tleft.
Если существует отображение «многие к одному» между ключевыми значениями в Tleft и Tright, затем join сортирует и повторяет данные в Tright перед добавлением к таблице Tleft.
Если есть данные в ключевой переменной Tright который не сопоставлен с ключевым значением в Tleft, затем join не включает эти данные в таблицу выхода, T.
Указания и ограничения по применению:
Чтобы присоединиться к длинное расписание и длинная таблица, timetable должен быть первым входом к join.
Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
В целом входе таблицы не могут иметь неключевых переменных с одинаковыми именами. Однако можно задать повторяющиеся имена переменных в входных таблицах при помощи:
'KeepOneCopy'
'LeftVariables' и 'RightVariables'
Значения этих аргументов в виде имя-значение должны быть постоянными:
'Keys'
'LeftKeys'
'RightKeys'
'LeftVariables'
'RightVariables'
'KeepOneCopy'
Вложенные таблицы и расписания не поддерживаются.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.