Merge rows with similar names
2 次查看(过去 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!