[tf,f]=table_ismember(table1,table2) [tf,f]=table_ismember(table1,table2,NaNisequal) [tf,f]=table_ismember(table1,table2,keys1) [tf,f]=table_ismember(table1,table2,keys1,NaNisequal) [tf,f]=table_ismember(table1,table2,keys1,keys2) [tf,f]=table_ismember(table1,table2,keys1,keys,NaNisequal)
function [tf,f]=table_ismember(table1,table2,keys1,keys2,NaNisequal) find location of rows of table1 in rows of table2
| table1 | any | first structure of arrays (tablestructure) +----fld1(N1,:) +----fld2(N1,:) |
| table2 | any | second structure of arrays (tablestructure)
+----fld1(N2,:)
+----fld2(N2,:)
keys1,keys:
cell array of column names.
keys1 must be columns of table1 and keys2 must be columns in
table2.
if keys2 is not specified, it is assumed that keys2=keys1.
columns table.keys1 are compared to columns table.keys2.
|
| NaNisequal | any | if true, treat NaN values as equal. Note that "ismember" does NOT treat NaN's as equal. Defaults to false. |
tf[N1,1]
boolean vector corresponding to table1.
tf(i)=true indicates row(i) is in table 2
f([N1,1]
table-to-table indices:
0 if not found. Otherwise: corresponding element in table2
| REVISIONS | any | 20200611: checked for use with R2016b strings.
20211116: implement "NaNisequal" correctly. simplify parsing of input
arguments.
|