How to take last entry of each unique name

4 ビュー (過去 30 日間)
Mekala balaji
Mekala balaji 2018 年 5 月 6 日
編集済み: Stephen23 2018 年 6 月 10 日
Hi,
I have below cell array,
2018-1-2 MDS09FG HTF03K00E4T00 TF0224.1 34 43
2018-1-2 MDS09FG HTF03K00E4T00 TF0224.1 54 2
2018-1-2 MDS09FG HTF03K00E4T00 VF0224.1 64 2.6
2018-1-2 UDS09FG HTF06K00E4T00 TF0674.1 3 36
2018-1-2 UDS09FG HTF06K00E4T00 TF0674.1 54 4.3
2018-1-2 UDS09FG HTF06K00E4T00 TF0674.1 64 2.9
2018-1-2 UDS09FG HTF06K00E4T00 TF0674.1 64 2.9
2018-4-23 GJS09FG HTF06K00E4T00 TF0864.1 3 41
2018-4-23 GJS09FG HTF06K00E4T00 TF0864.1 54 1.3
2018-4-23 GJS09FG HTF06K00E4T00 TF0864.1 64 29
Based on 4th column, for each unique name in 4th column, there will be 3 to 4 rows with the same name in 4th column, I want to take the last entry(row) for each unique name in 4th column. Desired output:
2018-1-2 MDS09FG HTF03K00E4T00 VF0224.1 64 2.6
2018-1-2 UDS09FG HTF06K00E4T00 TF0674.1 64 2.9
2018-4-23 GJS09FG HTF06K00E4T00 TF0864.1 64 29
  4 件のコメント
Stephen23
Stephen23 2018 年 5 月 7 日
編集済み: Stephen23 2018 年 5 月 7 日
Your example output shows rows. When I check the cell array I found four unique names in the fourth column:
>> unique(C(:,4))
ans =
TF0224.1
TF0674.1
TF0864.1
VF0224.1
What is the correct required output?
Mekala balaji
Mekala balaji 2018 年 6 月 10 日
編集済み: Stephen23 2018 年 6 月 10 日
Sir,
I encounter an issue, my out does not maintain original order, in fact, I want to retain the original row order.
Can it be possible to retain the original order. I legacy, but still I get wrong ordre:
ia =
1
3
8
11
[C,ia,ic] = unique(input(:,4),'rows','legacy')

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

採用された回答

Fangjun Jiang
Fangjun Jiang 2018 年 5 月 7 日
use [out, IA]=unique(in,'last'), assume your 2D cell array is in,
[out,IA]=unique(in(:,4),'last')
out=in(IA,:)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDatabase Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by