How to show only the same variable
1 view (last 30 days)
Show older comments
Alikouider
on 11 Dec 2021
Commented: Alikouider
on 12 Dec 2021
Hello,
I have a .mat file as following
Name adress company
BOB london BIM
Alfred Paris BOB
John BOB CEF
I would like to display only the duplicate variable in or order to create this new .mat file
Name adress company
BOB
BOB
BOB
If someone have an idea to create the adapted code?
Thanks in advance
5 Comments
Image Analyst
on 12 Dec 2021
You accepted Walter's answer, so we assume everything is working perfectly now.
Accepted Answer
Walter Roberson
on 11 Dec 2021
common_values = intersect(intersect(Name, adress), company);
N = length(Name);
NName = strings(N, 1);
mask = ismember(Name, common_values);
NName(mask) = Name(mask);
Nadress = strings(N, 1);
mask = ismember(adress, common_values);
Nadress(mask) = adress(mask);
Ncompany = strings(N, 1);
mask = ismember(company, common_values);
Ncompany(mask) = company(mask);
output = table(Nname, Nadress, Ncompany, 'VariableNames', {'Name', 'adress', 'company'});
8 Comments
Walter Roberson
on 12 Dec 2021
A = readtable('DataFilter.xlsx','TextType','string');
names_by_var = varfun(@unique, A, 'OutputFormat', 'cell');
[G, ID] = findgroups(categorical({names_by_var{:}}));
counts = accumarray(G, 1);
names_with_dups = ID(counts>1);
is_dup = varfun(@(V) ismember(categorical(V), names_with_dups), A, 'OutputFormat', 'uniform');
Aarray = table2array(A);
B = strings(size(Aarray));
B(is_dup) = Aarray(is_dup);
More Answers (0)
See Also
Categories
Find more on Time Series Events in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!