I have a 10x2 table of data and I want to add all the matching names in col 1 data in col 2
A = 10×2 table
Name Num
___________________ ___
Business Name One 6
Business Name Two 3
Business Name Three 1
Business Name One 5
Business Name Two 22
Business Name Three 2
Business Name One 6
Business Name Two 3
Business Name Three 32
Bussiness Name Three 4
I would like the output to be
Name Num
___________________ ___
Business Name One 17
Business Name Two 28
Business Name Three 39
But I cannot figure out a way to match all the unique names and then add the second column after. I have tried a few different ways without success.
Any help would be appreciated!

 채택된 답변

Stephen23
Stephen23 2022년 3월 18일
편집: Stephen23 2022년 3월 18일

0 개 추천

Name = ["One";"Two";"Three";"One";"Two";"Three";"One";"Two";"Three";"Three"];
Num = [6;3;1;5;22;2;6;3;32;4];
inp = table(Name,Num)
inp = 10×2 table
Name Num _______ ___ "One" 6 "Two" 3 "Three" 1 "One" 5 "Two" 22 "Three" 2 "One" 6 "Two" 3 "Three" 32 "Three" 4
[G,Name] = findgroups(inp.Name);
Num = splitapply(@sum,inp.Num,G);
out = table(Name,Num)
out = 3×2 table
Name Num _______ ___ "One" 17 "Three" 39 "Two" 28
This is one of the approaches shown here:

댓글 수: 1

Maddie Long
Maddie Long 2022년 3월 18일
Thank you so much, I knew it was something simple! You rock

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Printing and Saving에 대해 자세히 알아보기

질문:

2022년 3월 18일

편집:

2022년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by