Merge rows with similar names
조회 수: 17 (최근 30일)
이전 댓글 표시
Hi,
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
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
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!
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!