Объединение двух таблиц или расписаний по строкам с использованием ключевых переменных
объединяет таблицы или расписания 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 добавляет уникальный суффикс к неключевой переменной, 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' (для имен строк таблицы), как имя вектора расписания времени строки или как значение , где 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' (для имен строк таблицы), как имя вектора расписания времени строки или как значение , где T.Properties.DimensionNames{1} - таблица или расписание.T
Пример: 'LeftKeys',1 использует только первую переменную в Tleft в качестве ключевой переменной.
'RightKeys' - Переменные для использования в качестве ключей в TrightПеременные для использования в качестве ключей в Tright, указанная как пара, разделенная запятыми, состоящая из 'RightKeys' и положительное целое число, вектор положительных целых чисел, символьный вектор, клеточный массив символьных векторов, строковый массив или логический вектор.
Необходимо использовать 'RightKeys' аргумент пары имя-значение в сочетании с 'LeftKeys' аргумент пары имя-значение. 'LeftKeys' и 'RightKeys' оба должны указывать одинаковое количество ключевых переменных. join пары ключевых значений в Tleft и Tright на основании их порядка.
Вектор меток строк из входной таблицы или расписания может быть ключом, отдельно или в сочетании с другими ключевыми переменными. Метки строк - это имена строк таблицы или время строк расписания. Чтобы использовать этот вектор в качестве ключа, укажите его как 'Row' (для имен строк таблицы), как имя вектора расписания времени строки или как значение , где 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 неключевой переменной 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 , которая соответствует этой строке в выходной таблице или расписании, T.
Переменная, используемая для сопоставления и объединения данных между входными таблицами Tleft и Tright.
Значение в ключевой переменной Tleft или Tright.
join функция сначала находит одну или несколько ключевых переменных. Затем, join использует ключевые переменные для поиска строки во входной таблице Tright который соответствует каждой строке во входной таблице Tleftи объединяет эти строки для создания строки в выходной таблице T.
При наличии сопоставления один к одному между ключевыми значениями в Tleft и Tright, то join сортирует данные в Tright и добавляет его в таблицу Tleft.
Если существует сопоставление «многие к одному» между ключевыми значениями в Tleft и Tright, то join сортирует и повторяет данные в Tright перед добавлением в таблицу Tleft.
При наличии данных в ключевой переменной Tright который не сопоставляется с ключевым значением в Tleft, то join не включает эти данные в выходную таблицу; T.
Примечания и ограничения по использованию:
Чтобы объединить высокое расписание и высокий стол, расписание должно быть первым входом в join.
Дополнительные сведения см. в разделе Массивы Tall.
Примечания и ограничения по использованию:
Как правило, входные таблицы не могут иметь неключевые переменные с одинаковыми именами. Однако можно указать дублированные имена переменных во входных таблицах с помощью:
'KeepOneCopy'
'LeftVariables' и 'RightVariables'
Значения этих аргументов «имя-значение» должны быть постоянными:
'Keys'
'LeftKeys'
'RightKeys'
'LeftVariables'
'RightVariables'
'KeepOneCopy'
Вложенные таблицы и расписания не поддерживаются.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.