How I find four or five colunms with distict rows from a table

1 view (last 30 days)
I have a table with 46 columns and 115 rows and I have to find 3 or 4 or 5 such columns that all have distinct rows.In that 4 columns there should not be repeatation in entire 115 rows
  1 Comment
Mathieu NOE
Mathieu NOE on 19 Jan 2023
you simply have to test each column and see if you have 115 unique values
read doc / help of unique

Sign in to comment.

Answers (1)

David Hill
David Hill on 19 Jan 2023
First convert your table into a matrix using table2array()
A=randi(100,115,64);
k=nchoosek(1:64,5);%all combinations of 5 columns (change for 3 and 4)
y=[];
for m=1:size(k,1)
t=A(:,k(m,:));
t=unique(t,'rows');
if size(t,1)==115
y=[y,m];%all rows of k that meet the condition
end
end
k(y,:)%all combinations of 5 columns where all 115 rows are unique

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!