How to use grpstats to sum several variables
6 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a table of historic stock returns that I'm trying to perform some analysis on. The first variable is Stock, the second variable is Industry and 3:374 are the monthly returns.
I am looking to sum the monthly return by industry, i.e. for Materials to have the sum of the Materials stocks, which will result in a matrix/table of industries as variable 1 and the respective monthly summed returns for the other columns.
0 个评论
采纳的回答
Kristen Amaddio
2017-8-29
Given the following table, 'TStock', which is arranged as specified in your question:
TStock =
6×5 table
Stock Industry R1 R2 R3
_____ ___________ __ ___ ___
'S1' 'Materials' 71 176 128
'S2' 'Materials' 69 163 200
'S3' 'Oil' 64 131 100
'S4' 'Oil' 64 131 156
'S5' 'Oil' 67 133 145
'S6' 'Auto' 64 119 140
Now, when you use the 'grpstats' function, you will want to specify that you would like to group by the 'Industry' column. You can also specify that you would like to 'sum' the other columns. In order for this to work, you will need to omit the 'Stock' column in the calculation, as a sum cannot be performed on non-numeric data.
GStock = grpstats(TStock(:,2:end),'Industry','sum')
Which will deliver the following output, in which the first column is the name of each industry, and the remaining columns are the sums of the monthly returns for each industry:
GStock =
3×5 table
Industry GroupCount sum_R1 sum_R2 sum_R3
___________ __________ ______ ______ ______
Materials 'Materials' 2 140 339 328
Oil 'Oil' 3 195 395 401
Auto 'Auto' 1 64 119 140
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Repeated Measures and MANOVA 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!