Intersection of two tables
Afficher commentaires plus anciens
Hi,
I'm trying to intersect two tables. They share same column with strings, and I want strings that are in both of these tables (intersection).
Example tables:
A = table();
A.user = ["user1";"user2";"user3";"user4"];
A.value = [10;20;30;40]
B = table();
B.user = ["user3";"user4";"user5"];
B.value = [300;400;500]
I would like to get a logical vector (index) which would tell me positions of users, that are in both tables, which are user3 and user4 in this example. Values of the users are not important here, i need only those indexes.
Although this seems simple in my head, I wasn't able to do it in Matlab. I tried using outerjoin(), ismember() and intersect(), but always some errors and empty logical vectors as results.
Réponse acceptée
Plus de réponses (1)
Maybe this code can help you:
A = table();
A.user = {'user1';'user2';'user3';'user4'};
A.value = [10;20;30;40]
B = table();
B.user = {'user3';'user4';'user5'};
B.value = [300;400;500]
ind = ismember(B.user, A.user)
A = table();
A.user = {"user1";"user2";"user3";"user4"};
A.value = [10;20;30;40]
B = table();
B.user = {"user3";"user4";"user5"};
B.value = [300;400;500]
idxBinA = ismember([B.user{:}], [A.user{:}])
Catégories
En savoir plus sur Lengths and Angles dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!