Внешнее соединение между двумя таблицами или расписаниями
C = outerjoin(A,B)C = outerjoin(A,B,Name,Value)[C,ia,ib] = outerjoin(___)составляет таблицу или расписание, C = outerjoin(A,B) C, как внешнее соединение между A и B совпадением строк с помощью всех переменных с тем же именем как ключевые переменные. Можно выполнить внешние соединения только на определенных комбинациях таблиц и расписаний.
Если A является таблицей, то B должен быть таблицей. outerjoin возвращает C как таблицу.
Если A является расписанием, то B может быть или таблицей или расписанием. outerjoin возвращает C как расписание для любой комбинации входных параметров.
Внешнее соединение включает строки, которые соответствуют между A и B, и также несопоставленными строками или от A или от B, всех относительно ключевых переменных. C содержит все переменные и от A и от B, включая ключевые переменные.
Метки строки A и B могут быть ключевыми переменными. Метки строки являются именами строки таблицы, или времена строки расписания.
выполняет операцию внешнего соединения с дополнительными опциями, заданными одним или несколькими аргументами пары C = outerjoin(A,B,Name,Value) Name,Value.
также возвращает индексные векторы, [C,ia,ib] = outerjoin(___) ia и ib, указывая на соответствие между строками в C и теми в A и B соответственно. Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.
Составьте таблицу, A.
A = table([5;12;23;2;15;6],... {'cheerios';'pizza';'salmon';'oreos';'lobster';'pizza'},... 'VariableNames',{'Age','FavoriteFood'},... 'RowNames',{'Amy','Bobby','Holly','Harry','Marty','Sally'})
A=6×2 table
Age FavoriteFood
___ ____________
Amy 5 'cheerios'
Bobby 12 'pizza'
Holly 23 'salmon'
Harry 2 'oreos'
Marty 15 'lobster'
Sally 6 'pizza'
Составьте таблицу, B, с одной переменной вместе с A, названным FavoriteFood.
B = table({'cheerios';'oreos';'pizza';'salmon';'cake'},...
[110;160;140;367;243],...
{'A-';'D';'B';'B';'C-'},...
'VariableNames',{'FavoriteFood','Calories','NutritionGrade'})B=5×3 table
FavoriteFood Calories NutritionGrade
____________ ________ ______________
'cheerios' 110 'A-'
'oreos' 160 'D'
'pizza' 140 'B'
'salmon' 367 'B'
'cake' 243 'C-'
Используйте функцию outerjoin, чтобы составить новую таблицу, C, с данными из таблиц A и B.
C = outerjoin(A,B)
C=7×5 table
Age FavoriteFood_A FavoriteFood_B Calories NutritionGrade
___ ______________ ______________ ________ ______________
NaN '' 'cake' 243 'C-'
5 'cheerios' 'cheerios' 110 'A-'
15 'lobster' '' NaN ''
2 'oreos' 'oreos' 160 'D'
12 'pizza' 'pizza' 140 'B'
6 'pizza' 'pizza' 140 'B'
23 'salmon' 'salmon' 367 'B'
Таблица C содержит отдельную переменную для ключевой переменной от A, названного FavoriteFood_A и ключевой переменной от B, названного FavoriteFood_B.
Составьте таблицу, A.
A = table({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]',...
'VariableNames',{'Key1' 'Var1'})A=5×2 table
Key1 Var1
____ ____
'a' 1
'b' 2
'c' 3
'e' 11
'h' 17
Составьте таблицу, B, с общими ценностями в переменном Key1 между таблицами A и B, но также и содержащий строки со значениями Key1, не существующего в A.
B = table({'a','b','d','e'}',[4;5;6;7],...
'VariableNames',{'Key1' 'Var2'})B=4×2 table
Key1 Var2
____ ____
'a' 4
'b' 5
'd' 6
'e' 7
Используйте функцию outerjoin, чтобы составить новую таблицу, C, с данными из таблиц A и B. Объедините значения ключа в единственную переменную в выходной таблице, C.
C = outerjoin(A,B,'MergeKeys',true)C=6×3 table
Key1 Var1 Var2
____ ____ ____
'a' 1 4
'b' 2 5
'c' 3 NaN
'd' NaN 6
'e' 11 7
'h' 17 NaN
Переменные в таблице C, которая прибыла из A, содержат нулевые значения в строках, которые не имеют никакого соответствия от B. Точно так же переменные в C, который прибыл из B, содержат нулевые значения в тех строках, которые не имели никакого соответствия от A.
Составьте таблицу, A.
A = table({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]',...
'VariableNames',{'Key1' 'Var1'})A=5×2 table
Key1 Var1
____ ____
'a' 1
'b' 2
'c' 3
'e' 11
'h' 17
Составьте таблицу, B, с общими ценностями в переменном Key1 между таблицами A и B, но также и содержащий строки со значениями Key1, не существующего в A.
B = table({'a','b','d','e'}',[4;5;6;7],...
'VariableNames',{'Key1' 'Var2'})B=4×2 table
Key1 Var2
____ ____
'a' 4
'b' 5
'd' 6
'e' 7
Используйте функцию outerjoin, чтобы составить новую таблицу, C, с данными из таблиц A и B. Подойдите строки с общими ценностями в ключевой переменной, Key1, но также и сохраните строки, значения ключа которых не имеют соответствия.
Кроме того, возвратите индексные векторы, ia и ib, указывающий на соответствие между строками в C и строками в A и B соответственно.
[C,ia,ib] = outerjoin(A,B)
C=6×4 table
Key1_A Var1 Key1_B Var2
______ ____ ______ ____
'a' 1 'a' 4
'b' 2 'b' 5
'c' 3 '' NaN
'' NaN 'd' 6
'e' 11 'e' 7
'h' 17 '' NaN
ia = 6×1
1
2
3
0
4
5
ib = 6×1
1
2
0
3
4
0
Индексный ia векторов и ib содержат нули, чтобы указать на строки в таблице C, которые не соответствуют строкам в таблицах A или B, соответственно.
Составьте таблицу, A.
A = table({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]',...
'VariableNames',{'Key1' 'Var1'})A=5×2 table
Key1 Var1
____ ____
'a' 1
'b' 2
'c' 3
'e' 11
'h' 17
Составьте таблицу, B, с общими ценностями в переменном Key1 между таблицами A и B, но также и содержащий строки со значениями Key1, не существующего в A.
B = table({'a','b','d','e'}',[4;5;6;7],...
'VariableNames',{'Key1' 'Var2'})B=4×2 table
Key1 Var2
____ ____
'a' 4
'b' 5
'd' 6
'e' 7
Используйте функцию outerjoin, чтобы составить новую таблицу, C, с данными из таблиц A и B. Проигнорируйте строки в B, значения ключа которого не совпадают ни с какими строками в A.
Кроме того, возвратите индексные векторы, ia и ib, указывающий на соответствие между строками в C и строками в A и B соответственно.
[C,ia,ib] = outerjoin(A,B,'Type','left')
C=5×4 table
Key1_A Var1 Key1_B Var2
______ ____ ______ ____
'a' 1 'a' 4
'b' 2 'b' 5
'c' 3 '' NaN
'e' 11 'e' 7
'h' 17 '' NaN
ia = 5×1
1
2
3
4
5
ib = 5×1
1
2
0
4
0
Все значения ia являются ненулевым указанием, что все строки в C имеют соответствующие строки в A.
Создайте два расписания, A и B. Они имеют несколько раз строки вместе, но каждый также включает времена строки, которые не находятся в другом расписании.
A = timetable(seconds([1;2;4;6]),[1 2 3 11]')
A=4×1 timetable
Time Var1
_____ ____
1 sec 1
2 sec 2
4 sec 3
6 sec 11
B = timetable(seconds([2;4;6;7]),[4 5 6 7]')
B=4×1 timetable
Time Var1
_____ ____
2 sec 4
4 sec 5
6 sec 6
7 sec 7
Объедините A и B с внешним соединением. C подходит строки с общими временами строки, но также и включает строки, которые не имеют соответствий.
C = outerjoin(A,B)
C=5×2 timetable
Time Var1_A Var1_B
_____ ______ ______
1 sec 1 NaN
2 sec 2 4
4 sec 3 5
6 sec 11 6
7 sec NaN 7
Объедините A и B, но проигнорируйте строки в B, времена строки которого не совпадают ни с какими временами строки в A.
D = outerjoin(A,B,'Type','left')
D=4×2 timetable
Time Var1_A Var1_B
_____ ______ ______
1 sec 1 NaN
2 sec 2 4
4 sec 3 5
6 sec 11 6
A, B Входные таблицыВходные таблицы, заданные как таблицы или как расписания.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Ключи', 2 использования вторая переменная в A и вторая переменная в B как ключевые переменные.ключи Переменные, чтобы использовать в качестве ключейПеременные, чтобы использовать в качестве ключей, заданных как пара, разделенная запятой, состоящая из 'Keys' и положительного целого числа, вектора положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Вы не можете использовать аргумент в виде пар "имя-значение" 'Keys' с аргументы в виде пар "имя-значение" 'RightKeys' и 'LeftKeys'.
Метки строки могут быть ключами, одними или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.
Пример: 'Ключи', [1 3] использует первые и третьи переменные в A и B как ключевые переменные.
'LeftKeys' Переменные, чтобы использовать в качестве ключей в AПеременные, чтобы использовать в качестве ключей в A, заданном как пара, разделенная запятой, состоящая из 'LeftKeys' и положительного целого числа, вектора положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Необходимо использовать аргумент в виде пар "имя-значение" 'LeftKeys' в сочетании с аргументом в виде пар "имя-значение" 'RightKeys'. 'LeftKeys' и 'RightKeys' оба должны задать то же количество ключевых переменных. значения ключа пар outerjoin на основе их порядка.
Метки строки могут быть ключами, одними или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.
Пример: 'LeftKeys', 1 использование только первая переменная в как ключевая переменная.
'RightKeys' Переменные, чтобы использовать в качестве ключей в BПеременные, чтобы использовать в качестве ключей в B, заданном как пара, разделенная запятой, состоящая из 'RightKeys' и положительного целого числа, вектора положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Необходимо использовать аргумент в виде пар "имя-значение" 'RightKeys' в сочетании с аргументом в виде пар "имя-значение" 'LeftKeys'. 'LeftKeys' и 'RightKeys' оба должны задать то же количество ключевых переменных. значения ключа пар outerjoin на основе их порядка.
Метки строки могут быть ключами, одними или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.
Пример: 'RightKeys', 3 использования только третья переменная в B как ключевая переменная.
'MergeKeys' — Mergefalse (значение по умолчанию) | true | 0 | 1Объедините ключевой флаг, заданный как пара, разделенная запятой, состоящая из 'MergeKeys' и или false, true, 0 или 1.
|
Это поведение по умолчанию. |
|
|
'LeftVariables' Переменные от A, чтобы включать в CПеременные от A, чтобы включать в C, заданный как пара, разделенная запятой, состоящая из 'LeftVariables' и положительного целого числа, вектора положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Можно использовать 'LeftVariables', чтобы включать или исключить ключевые переменные, а также неключевые переменные от вывода, C.
По умолчанию outerjoin включает все переменные от A.
'RightVariables' Переменные от B, чтобы включать в CПеременные от B, чтобы включать в C, заданный как пара, разделенная запятой, состоящая из 'RightVariables' и положительного целого числа, вектора положительных целых чисел, вектора символа, массива ячеек из символьных векторов, массива строк или логического вектора.
Можно использовать 'RightVariables', чтобы включать или исключить ключевые переменные, а также неключевые переменные от вывода, C.
По умолчанию outerjoin включает все переменные от B.
Ввод Тип операции внешнего соединения'full' (значение по умолчанию) | 'left' | 'right'Тип операции внешнего соединения, заданной как пара, разделенная запятой, состоящая из 'Type' и или 'full', 'left' или 'right'.
Для левого внешнего соединения C содержит строки, соответствующие значениям ключа в A, которые не совпадают ни с какими значениями в B, но не наоборот.
Для правильного внешнего соединения C содержит строки, соответствующие значениям ключа в B, которые не совпадают ни с какими значениями в A, но не наоборот.
По умолчанию outerjoin делает полное внешнее соединение и включает несопоставленные строки и от A и от B.
C Внешнее соединение от A и BВнешнее соединение от A и B, возвращенного как таблица. Выходная таблица, C, содержит одну строку для каждой пары строк в таблицах A и B, которые совместно используют ту же комбинацию значений ключа. Если A и B содержат переменные с тем же именем, outerjoin добавляет уникальный суффикс к соответствующим именам переменных в C. Переменные в C, который прибыл из A, содержат нулевые значения в тех строках, которые не имели никакого соответствия от B. Точно так же переменные в C, который прибыл из B, содержат нулевые значения в тех строках, которые не имели никакого соответствия от A.
В целом, если существуют строки m в строках таблицы A и n в таблице B, что все содержат ту же комбинацию значений в ключевых переменных, таблица C содержит строки m*n для той комбинации. C также содержит строки, соответствующие комбинациям значения ключа в одной входной таблице, которые не совпадают ни с какой строкой другая входная таблица.
C содержит горизонтальную конкатенацию A(ia,LeftVars) и B(ib,RightVars), отсортированного по значениям в ключевых переменных. По умолчанию LeftVars состоит из всех переменных A, и RightVars состоит из весь от B. В противном случае LeftVars состоит из переменных, заданных аргументом в виде пар "имя-значение" 'LeftVariables', и RightVars состоит из переменных, заданных аргументом в виде пар "имя-значение" 'RightVariables'.
Можно сохранить дополнительные метаданные, такие как описания, переменные модули, имена переменных и имена строки в таблице. Для получения дополнительной информации смотрите раздел Properties table.
ia — Индексируйте к AИндексируйте к A, возвращенному как вектор - столбец. Каждый элемент ia идентифицирует строку в таблице A, которая соответствует той строке в выходной таблице, C. Векторный ia содержит нули, чтобы указать на строки в C, которые не соответствуют строкам в A.
ib Индексируйте к BИндексируйте к B, возвращенному как вектор - столбец. Каждый элемент ib идентифицирует строку в таблице B, которая соответствует той строке в выходной таблице, C. Векторный ib содержит нули, чтобы указать на строки в C, которые не соответствуют строкам в B.
Переменная раньше совпадала и комбинировала данные между входными таблицами, A и B.
Метки строки из входных таблиц A и B могут быть ключами, одними или в сочетании с другими ключевыми переменными. Метки строки являются именами строки таблицы или времена строки расписания. В целом outerjoin копирует метки строки с входной таблицы A к выходной таблице C.
Если A не имеет никаких меток строки, то C не имеет никаких меток строки.
Если A имеет метки строки, то outerjoin копирует метки строки с A, чтобы создать метки строки в C.
Если вы задаете метки строки и от A и от B как пара ключей, то outerjoin объединяет метки строки от B в метки строки C при необходимости.
Если вы задаете метки строки A как ключ, но не задаете метки строки B как соответствующий ключ, то outerjoin создает метки строки по умолчанию в C при необходимости.
Если и A и B являются таблицами, но вы не задаете имена строки ни одной входной таблицы как ключ, то outerjoin не создает имена строки в C.
Вы не можете выполнить внешнее соединение с помощью меток строки A как левый ключ и переменная B как правильный ключ. Чтобы выполнить внешнее соединение, преобразуйте метки строки A к табличной переменной и используйте новую табличную переменную в качестве ключа.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.