How to delete duplicates and replace values in an array?
5 ビュー (過去 30 日間)
古いコメントを表示
Hey, I'm a little stumped on my personal project. I'm trying to have MatLab check a list of ingredients, delete duplicates, and rewrite the remaining ingredient to show how many times its been mentioned. Here's an example:
[("White Onion"),("Potato"),("White Onion"),("Fruit")] -> [("2x White Onion"),("Potato"),("Fruit")]
I know unique() is a command I could use, but how would I rewrite that individual value?
0 件のコメント
採用された回答
Simon Chan
2021 年 8 月 20 日
編集済み: Simon Chan
2021 年 8 月 20 日
Create a table and use function groupsummary
Item=["White Onion";"Potato";"White Onion";"Fruit"];
T=table(Item,'VariableNames',{'Ingredients'});
G = groupsummary(T,"Ingredients","sum")
Result:
G =
3×2 table
Ingredients GroupCount
_____________ __________
"Fruit" 1
"Potato" 1
"White Onion" 2
3 件のコメント
Cris LaPierre
2021 年 8 月 20 日
Yes. Look at writetable
I would remove the method 'sum', as it doesn't make sense with string data.
ingrT = table(["White Onion","Potato","White Onion","Fruit"]','VariableNames',"ingredients");
groupsummary(ingrT,"ingredients")
Simon Chan
2021 年 8 月 20 日
Thanks Cris, forgot it is string data.
Use function writetable to put it in a text file
writetable(G,'result.txt')
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!