innerjoin

Внутреннее объединение между двумя таблицами или расписаниями

Описание

пример

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

Совпадающие значения ключевых переменных в левых и правых таблицах не должны быть в том же порядке. Внутренние объединения могут выполнить one-many и соответствия many-one между ключевыми переменными этих двух таблиц. Таким образом, значение, которое происходит однажды в ключевой переменной стола, из-за которого встают, может иметь несколько соответствий в правильной таблице. Точно так же значение, которое происходит однажды в ключевой переменной правильной таблицы, может иметь несколько соответствий в столе, из-за которого встают.

Можно выполнить внутренние объединения только на определенных комбинациях таблиц и расписаний.

  • Если Tleft таблица, затем Tright должна быть таблица. innerjoin возвращает T как таблица.

  • Если Tleft расписание, затем Tright может быть или таблица или расписание. innerjoin возвращает T как расписание для любой комбинации входных параметров.

Векторы меток строки Tleft и Tright могут быть ключевые переменные. Метки строки являются именами строки таблицы, или времена строки расписания.

T = innerjoin(Tleft,Tright,Name,Value) выполняет операцию внутреннего объединения с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Например, можно задать переменные, чтобы использовать в качестве ключевых переменных.

пример

[T,ileft,iright] = innerjoin(___) также возвращает векторы индекса, ileft и iright указание на соответствие между строками в T и строки в Tleft и Tright соответственно. Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

Составьте таблицу, Tleft.

Tleft = table([5;12;23;2;6],...
        {'cereal';'pizza';'salmon';'cookies';'pizza'},...
        'VariableNames',{'Age','FavoriteFood'})
Tleft=5×2 table
    Age    FavoriteFood
    ___    ____________

     5     {'cereal' } 
    12     {'pizza'  } 
    23     {'salmon' } 
     2     {'cookies'} 
     6     {'pizza'  } 

Составьте таблицу, Tright, с одной переменной вместе с Tleft.

Tright = table({'cereal';'cookies';'pizza';'salmon';'cake'},...
         [110;160;140;367;243],...
         {'A-';'D';'B';'B';'C-'},...
         'VariableNames',{'FavoriteFood','Calories','NutritionGrade'})
Tright=5×3 table
    FavoriteFood    Calories    NutritionGrade
    ____________    ________    ______________

    {'cereal' }       110           {'A-'}    
    {'cookies'}       160           {'D' }    
    {'pizza'  }       140           {'B' }    
    {'salmon' }       367           {'B' }    
    {'cake'   }       243           {'C-'}    

Используйте innerjoin функция, чтобы составить новую таблицу, T, с данными из таблиц Tleft и Tright.

T = innerjoin(Tleft,Tright)
T=5×4 table
    Age    FavoriteFood    Calories    NutritionGrade
    ___    ____________    ________    ______________

     5     {'cereal' }       110           {'A-'}    
     2     {'cookies'}       160           {'D' }    
    12     {'pizza'  }       140           {'B' }    
     6     {'pizza'  }       140           {'B' }    
    23     {'salmon' }       367           {'B' }    

Таблица T сортируется по ключевой переменной, FavoriteFood.

Составьте таблицу, Tleft.

Tleft = table({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]',...
        'VariableNames',{'Key1' 'Var1'})
Tleft=5×2 table
    Key1     Var1
    _____    ____

    {'a'}      1 
    {'b'}      2 
    {'c'}      3 
    {'e'}     11 
    {'h'}     17 

Составьте таблицу, Tright, с общими ценностями в переменной Key1 между таблицами Tleft и Tright, но также и содержание строк со значениями Key1 не существующий в Tleft.

Tright = table({'a' 'b' 'd' 'e'}',[4 5 6 7]',...
         'VariableNames',{'Key1' 'Var2'})
Tright=4×2 table
    Key1     Var2
    _____    ____

    {'a'}     4  
    {'b'}     5  
    {'d'}     6  
    {'e'}     7  

Используйте innerjoin функция, чтобы составить новую таблицу, T, с данными из таблиц Tleft и Tright. Сохраните только строки чьи значения в переменной Key1 соответствие.

Кроме того, возвратите векторы индекса, ileft и iright указание на соответствие между строками в T и строки в Tleft и Tright соответственно.

[T,ileft,iright] = innerjoin(Tleft,Tright)
T=3×3 table
    Key1     Var1    Var2
    _____    ____    ____

    {'a'}      1      4  
    {'b'}      2      5  
    {'e'}     11      7  

ileft = 3×1

     1
     2
     4

iright = 3×1

     1
     2
     4

Таблица T сортируется по значениям в ключевой переменной, Key1, и содержит горизонтальную конкатенацию Tleft(ileft,:) и Tright(iright,'Var2').

Составьте таблицу, 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, с общими ценностями во второй переменной как первая переменная таблицы Tleft.

Tright = table([6;1;1;6;8],[2;3;4;5;6])
Tright=5×2 table
    Var1    Var2
    ____    ____

     6       2  
     1       3  
     1       4  
     6       5  
     8       6  

Используйте innerjoin функция, чтобы составить новую таблицу, T, с данными из таблиц Tleft и Tright. Используйте первую переменную Tleft и вторая переменная Tright как ключевые переменные.

[T,ileft,iright] = innerjoin(Tleft,Tright,'LeftKeys',1,'RightKeys',2)
T=3×4 table
    Var1_Tleft    Var2    Var3    Var1_Tright
    __________    ____    ____    ___________

        2          9       8           6     
        3          6       8           1     
        4          4       3           1     

ileft = 3×1

     3
     4
     2

iright = 3×1

     1
     2
     3

Таблица T сохраняет только строки то соответствие между Tleft и Tright относительно ключевых переменных.

Таблица T содержит горизонтальную конкатенацию Tleft(ileft,:) и Tright(iright,'Var1').

Создайте два расписания, Tleft и Tright. У них есть несколько раз строки общий, но каждый также включает времена строки, которые не находятся в другом расписании.

Tleft = timetable(seconds([1;2;4;6]),[1 2 3 11]')
Tleft=4×1 timetable
    Time     Var1
    _____    ____

    1 sec      1 
    2 sec      2 
    4 sec      3 
    6 sec     11 

Tright = timetable(seconds([2;4;6;7]),[4 5 6 7]')
Tright=4×1 timetable
    Time     Var1
    _____    ____

    2 sec     4  
    4 sec     5  
    6 sec     6  
    7 sec     7  

Объедините Tleft и Tright с внутренним объединением. T подходит строки с общими временами строки. T не содержит никакие другие строки ни из одного расписания.

T = innerjoin(Tleft,Tright)
T=3×2 timetable
    Time     Var1_Tleft    Var1_Tright
    _____    __________    ___________

    2 sec         2             4     
    4 sec         3             5     
    6 sec        11             6     

Входные параметры

свернуть все

Стол, из-за которого встают, в виде таблицы или расписания.

Правильная таблица в виде таблицы или расписания.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Keys',2 использует вторую переменную в Tleft и вторая переменная в Tright как ключевые переменные.

Переменные, чтобы использовать в качестве ключей в виде разделенной запятой пары, состоящей из 'Keys' и положительное целое число, вектор положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.

Вы не можете использовать 'Keys' аргумент пары "имя-значение" с 'LeftKeys' и 'RightKeys' аргументы в виде пар имя-значение.

Вектор меток строки может быть ключевым, один или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.

Пример: 'Keys',[1 3] использует первые и третьи переменные в Tleft и Tright как ключевые переменные.

Пример: 'Keys',{'X','Y'} использует переменные под названием X и Y в Tleft и Tright как ключевые переменные.

Пример: 'Keys','Row' использует векторы имен строки Tleft и Tright как ключевые переменные, если оба Tleft и Tright таблицы с именами строки.

Переменные, чтобы использовать в качестве ключей в TleftВ виде разделенной запятой пары, состоящей из 'LeftKeys' и положительное целое число, вектор положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.

Необходимо использовать 'LeftKeys' аргумент пары "имя-значение" в сочетании с 'RightKeys' аргумент пары "имя-значение". 'LeftKeys' и 'RightKeys' оба должны задать то же количество ключевых переменных. innerjoin значения ключа пар на основе их порядка.

Вектор меток строки может быть ключевым, один или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.

Пример: 'LeftKeys',1 использование только первая переменная в Tleft как ключевая переменная.

Переменные, чтобы использовать в качестве ключей в TrightВ виде разделенной запятой пары, состоящей из 'RightKeys' и положительное целое число, вектор положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.

Необходимо использовать 'RightKeys' аргумент пары "имя-значение" в сочетании с 'LeftKeys' аргумент пары "имя-значение". 'LeftKeys' и 'RightKeys' оба должны задать то же количество ключевых переменных. innerjoin значения ключа пар на основе их порядка.

Вектор меток строки может быть ключевым, один или в сочетании с другими ключевыми переменными. Для получения дополнительной информации смотрите раздел Tips.

Пример: 'RightKeys',3 использование только третья переменная в Tright как ключевая переменная.

Переменные из Tleft включать в TВ виде разделенной запятой пары, состоящей из 'LeftVariables' и положительное целое число, вектор положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.

Можно использовать 'LeftVariables' включать или исключить ключевые переменные, а также неключевые переменные из выхода, T.

По умолчанию, innerjoin включает все переменные из Tleft.

Переменные из Tright включать в TВ виде разделенной запятой пары, состоящей из 'RightVariables' и положительное целое число, вектор положительных целых чисел, вектора символов, массива ячеек из символьных векторов, массива строк или логического вектора.

Можно использовать 'RightVariables' включать или исключить ключевые переменные, а также неключевые переменные из выхода, T.

По умолчанию, innerjoin включает все переменные из Tright кроме ключевых переменных.

Выходные аргументы

свернуть все

Внутреннее объединение от Tleft и Tright, возвращенный как таблица или расписание. Выходная таблица или расписание, T, содержит одну строку для каждой пары строк в Tleft и Tright та доля та же комбинация значений в ключевых переменных. Если Tleft и Tright содержите переменные с тем же именем, innerjoin добавляет уникальный суффикс к соответствующим именам переменных в T.

В общем случае, если существует m строки в Tleft и n строки в Tright это все содержит ту же комбинацию значений в ключевых переменных, затем T содержит m*n строки для той комбинации.

T сортируется по значениям в ключевых переменных и содержит горизонтальную конкатенацию Tleft(ileft,LeftVars) и Tright(iright,RightVars). По умолчанию, LeftVars состоит из всех переменных Tleft, и RightVars состоит из всех неключевых переменных из Tright. В противном случае, LefttVars состоит из переменных, заданных 'LeftVariables' аргумент пары "имя-значение" и RightVars переменные, заданные 'RightVariables' аргумент пары "имя-значение".

Можно сохранить дополнительные метаданные, такие как описания, переменные модули, имена переменных и имена строки в T. Для получения дополнительной информации смотрите разделы Свойств table или timetable.

Индексируйте к Tleft, возвращенный как вектор-столбец. Каждый элемент ileft идентифицирует строку в Tleft это соответствует той строке в выходной таблице или расписании, T.

Индексируйте к Tright, возвращенный как вектор-столбец. Каждый элемент iright идентифицирует строку в Tright это соответствует той строке в выходной таблице или расписании, T.

Больше о

свернуть все

Ключевая переменная

Переменная раньше совпадала и комбинировала данные между входными таблицами, Tleft и Tright.

Советы

  • Вектор меток строки из входной таблицы или расписания может быть ключевым, один или в сочетании с другими ключевыми переменными. Метки строки являются именами строки таблицы или времена строки расписания. Чтобы использовать этот вектор в качестве ключа, задайте его как 'Row' (для имен строки таблицы), как имя вектора расписания времен строки, или как значение Tсвойства., где T таблица или расписание.

    В общем случае innerjoin строка копий помечает из входной таблицы Tleft к выходной таблице T.

    • Если Tleft не имеет никаких меток строки, затем T не имеет никаких меток строки.

    • Если Tleft имеет метки строки, затем innerjoin строка копий помечает от Tleft создать метки строки в T.

      • Однако, если оба Tleft и Tright таблицы, но вы не задаете имена строки ни одной входной таблицы как ключ, затем innerjoin не создает имена строки в T.

    Вы не можете выполнить внутреннее объединение с помощью меток строки Tleft как левый ключ и переменная Tright как правильный ключ. Чтобы выполнить внутреннее объединение, преобразуйте метки строки Tleft к табличной переменной и использованию новая табличная переменная как ключ.

Расширенные возможности

Введенный в R2013b