How to take last entry of each unique name
5 views (last 30 days)
Show older comments
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
Accepted Answer
Fangjun Jiang
on 7 May 2018
use [out, IA]=unique(in,'last'), assume your 2D cell array is in,
[out,IA]=unique(in(:,4),'last')
out=in(IA,:)
0 Comments
More Answers (0)
See Also
Categories
Find more on Database Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!