Borrar filtros
Borrar filtros

How to use grpstats to sum several variables

7 visualizaciones (últimos 30 días)
Baynesy
Baynesy el 24 de Ag. de 2017
Respondida: Kristen Amaddio el 29 de Ag. de 2017
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.

Respuesta aceptada

Kristen Amaddio
Kristen Amaddio el 29 de Ag. de 2017
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

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by