Объедините две таблицы или расписания по строкам с помощью ключевых переменных
объединяет таблицы или расписания 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.