Merge rows with similar names

조회 수: 17(최근 30일)
Vlatko Milic
Vlatko Milic 2021년 10월 22일
댓글: Vlatko Milic 2021년 10월 27일
I have a table consisting of ten columns. In the first column, each row has a unique name. However, many rows have the same starting four letters. I would like to merge the rows with the same starting letters, and perform some calculations based on these rows.
Thanks in advance!
  댓글 수: 3
Image Analyst
Image Analyst 2021년 10월 22일
@Vlatko Milic, you keep forgetting to attach your data in a .mat file with the paperclip icon. Here's another chance to read the posting guidelines:

댓글을 달려면 로그인하십시오.

채택된 답변

Pranjal Kaura
Pranjal Kaura 2021년 10월 26일
Hey Vlatko,
It's my understanding that you want to group/merge rows with similar names. The criteria for 'similarity' is that they must have the same first 4 letters. You also mention that you know how to merge/group these rows when using complete row names for judging similarity, but are facing issues while merging using only a subset of the row name.
Here is a code snippet using which you can identify which rows are similar, using only the first 'n' letters. This will provide you with a number (say group number) for every row. 'Similar' rows would have the same number You can then merge them using your custom code.
A = ["Pizza", "Hello", "Hellbound", "Yesterday", "Yesss", "Yesman"]; % your first column
n = 3; %number of initial alphabets to consider
A2 = extractBetween(A(:), 1, n);
A_groups = unique(A2);
[~,A_groupNum] = ismember(A2, A_groups) %this will assign a number to every row. Similar rows would have the same number
Hope this helps!
  댓글 수: 1
Vlatko Milic
Vlatko Milic 2021년 10월 27일
Hi Pranjal,
That is exactly what I was looking for. Thanks a lot for your thorough answer and your time.
Kind regards

댓글을 달려면 로그인하십시오.

추가 답변(0개)




Community Treasure Hunt

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

Start Hunting!

Translated by