Matlab `outerjoin`:如何为 `Keys` 指定 `RowNames`

Matlab `outerjoin`: How to specify `RowNames` for `Keys`

Matlab 的 outerjoin 文档说 "row labels" 可以用于 Keys。它不提供这样做的语法。我的尝试没有成功:

>> A=table([1;2],'VariableNames',{'Av1'},'RowNames',{'hot','dog'})
A = 
           Av1
           ___
    hot    1  
    dog    2  

>> B=table([3;4],'VariableNames',{'Bv1'},'RowNames',{'hot','dog'})
B = 
           Bv1
           ___
    hot    3  
    dog    4  

>> outerjoin(A,B)
Error using table/outerjoin (line 114)
Cannot find a common table variable to use as a key variable. 

>> outerjoin(A,B,'Keys','RowNames')
Error using table/outerjoin (line 114)
Unrecognized variable name 'RowNames'. 

我想知道如何解释文档。任何帮助将不胜感激。

尾注

似乎文档缺少的不仅仅是如何 为 Keys 指定 RowNames。它也没有描述默认值 键。从测试来看,默认键似乎是匹配的列 姓名:

A=array2table( [ 1 1 10; 1 2 20; 2 1 1; 2 2 20],...
   'VariableNames',{'k1','k2','d'} )
B=array2table( [ 1 1 100; 1 2 200; 2 1 1; 2 2 200],...
   'VariableNames',{'k1','k2','d'} )
outerjoin(A,B,'MergeKeys',true)

A = 
    k1    k2    d 
    __    __    __
    1     1     10
    1     2     20
    2     1      1
    2     2     20
B = 
    k1    k2     d 
    __    __    ___
    1     1     100
    1     2     200
    2     1       1
    2     2     200
ans = 
    k1    k2     d 
    __    __    ___
    1     1      10
    1     1     100
    1     2      20
    1     2     200
    2     1       1
    2     2      20
    2     2     200

A=array2table( [ 1 1 10; 1 2 20; 2 1 1; 2 2 20],...
   'VariableNames',{'k1','k2','d'} )
B=array2table( [ 1 1 100; 1 2 200; 2 1 1; 2 2 200],...
   'VariableNames',{'k1','k2','e'} )
outerjoin(A,B,'MergeKeys',true)

A = 
    k1    k2    d 
    __    __    __
    1     1     10
    1     2     20
    2     1      1
    2     2     20
B = 
    k1    k2     e 
    __    __    ___
    1     1     100
    1     2     200
    2     1       1
    2     2     200
ans = 
    k1    k2    d      e 
    __    __    __    ___
    1     1     10    100
    1     2     20    200
    2     1      1      1
    2     2     20    200

TMW 通过引用在线文档“Use Row Labels as Grouping or Key Variables”提供了答案。如果指定关键字 Row,table 的 RowNames 将用作 Keys 参数。 Row指的是第一个维度的名称,而不是实际的字段。

以上解决方案仅适用于R2016b以上版本。较早版本的解决方案是将 RowNames 复制到实际字段,然后将该字段用于 Keys 参数。