Clear Filters
Clear Filters

Unique an Array based on one of the columns

2 views (last 30 days)

I have a table bellow with more than 1000 rows:

The table has six columns. I want to remove the repeated rows with consideration of "Email" column. In another hand, if ithe eamil presents in one row is the same as the email presents in another row, just keep one of these repeated rows (I prefer to keep the last row). How can I do this?

  4 Comments
Walter Roberson
Walter Roberson on 29 Apr 2023
splitapply(@unique ) with the group determined by the email column (might need findgroups)
civil tech
civil tech on 29 Apr 2023
Moved: Walter Roberson on 29 Apr 2023
This command " RR_new= unique(RR.Email) " return a unique table with only one column (email). I need the whole six columns.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 29 Apr 2023
Moved: Image Analyst on 30 Apr 2023
In summary: use the second output of unique() to get the list of indices of table rows to index the table by.
You would not be applying unique to the Email -- you would be applying findgroups() to the email to get the grouping variable for splitapply
  2 Comments
Image Analyst
Image Analyst on 30 Apr 2023
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!