MATLAB Answers

How to create a pivot table from this table, Part 2

1 view (last 30 days)
alpedhuez
alpedhuez on 21 Aug 2021
Commented: alpedhuez on 23 Aug 2021
suppose I have a table T
location gender sales
-----------------------------------------------------------
Customer 1 NY male 10
Customer 2 LA female 20
Customer 3 Austin female 15
Customer 4 LA female 10
Then I want to create a pivot table
Male sales Female sales
--------------------------------------------
NY 10 0
LA 0 30
Austin 0 15
I checked unstack and grpstat but I am not sure. What will be a next step?

Accepted Answer

Stephen
Stephen on 21 Aug 2021
customer = {'Customer 1';'Customer 2';'Customer 3';'Customer 4'};
location = {'NY';'LA';'Austin';'LA'};
gender = {'male';'female';'female';'female'};
sales = [10;20;15;10];
T = table(customer,location,gender,sales)
T = 4×4 table
customer location gender sales ______________ __________ __________ _____ {'Customer 1'} {'NY' } {'male' } 10 {'Customer 2'} {'LA' } {'female'} 20 {'Customer 3'} {'Austin'} {'female'} 15 {'Customer 4'} {'LA' } {'female'} 10
S = removevars(T,'customer');
S = groupsummary(S,{'location','gender'},'sum')
S = 3×4 table
location gender GroupCount sum_sales __________ __________ __________ _________ {'Austin'} {'female'} 1 15 {'LA' } {'female'} 2 30 {'NY' } {'male' } 1 10
U = unstack(S,'sum_sales','gender')
U = 3×4 table
location GroupCount female male __________ __________ ______ ____ {'Austin'} 1 15 NaN {'LA' } 2 30 NaN {'NY' } 1 NaN 10
etc.

More Answers (0)

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!