how to delete repeated rows in a table?
2 views (last 30 days)
Show older comments
I have an array M below. There are some repeated values in column 1. I would like to write a code that deletes all the rows that have repeated values in column 1. The final answer should be [518640 5.959; 522225 8.988].
This is a sample dataset. My actual data has more than 50,000 rows, and I need to delete all the repeated data. Thanks.
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988];
0 Comments
Accepted Answer
per isakson
on 24 Sep 2021
Edited:per isakson
on 27 Sep 2021
Test this
%%
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988];
%%
[~,ixu] = unique( M(:,1),'stable');
米(ixu:)
In response to comment
If everything fails, try a for-loop
forjj = 1 : size(M,1)
ixm = find( M(jj,1) == M(:,1) );
ifnumel(ixm) >= 2
M(ixm,1) = nan;
end
end
M( isnan(M(:,1)), : ) = []
More Answers (1)
Walter Roberson
on 27 Sep 2021
formatlong g
M = [518460 3.322; 518460 -12.984; 518520 3.798; 518520 -10.28; 518580 7.763; 518580 16.851; 518640 5.959; 522225 8.988]
[~, ia] = unique(M(:,1),'stable');
M = M(ia,:)
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!