[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. |