Remove Duplicate Rows in a Cell Array

11 ビュー (過去 30 日間)
Nicholas
Nicholas 2012 年 11 月 19 日
コメント済み: Michael Boateng 2021 年 2 月 16 日
Hello,
I'm trying to remove duplicate rows in a cell array. I'm familiar with the 'unique' function for use on vectors (or individual columns of a cell array) but I'm stumped on how to work on the whole array at once.
What I'm looking for is the same as the Excel button "Remove Duplicates" which does this:
withduplicates={
'Bear' 'Chicago' '1 yr'
'Bear' 'Chicago' '1 yr'
'Bear' 'Chicago' '1 yr'
'Bear' 'Miami' '2 yr'
'Bear' 'Miami' '2 yr'
'Lion' 'Denver' '1 yr'
'Lion' 'Miami' '2 yr'
'Lion' 'Miami' '2 yr'
'Lion' 'Miami' '2 yr'
'Tiger' 'Denver' '1 yr'
'Tiger' 'Chicago' '1 yr'
'Tiger' 'Chicago' '1 yr'}
withoutduplicates={
'Bear' 'Chicago' '1 yr'
'Bear' 'Miami' '2 yr'
'Lion' 'Denver' '1 yr'
'Lion' 'Miami' '2 yr'
'Tiger' 'Denver' '1 yr'
'Tiger' 'Chicago' '1 yr'}
Any help is greatly appreciated.

採用された回答

Matt J
Matt J 2012 年 11 月 19 日
wd=withduplicates;
[~,idx]=unique( strcat(wd(:,1),wd(:,2),wd(:,3)) , 'rows');
withoutduplicates=wd(idx,:)
  6 件のコメント
Matt J
Matt J 2020 年 9 月 4 日
Nowadays, you would just use strings,
withoutduplicates=unique(string(withduplicates),'rows')
Michael Boateng
Michael Boateng 2021 年 2 月 16 日
This worked well. Thank you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by