On Tue, 19 Feb 2013, ahmadou dicko wrote:
> This functionality is not built-in (except in relation to the
> "summary" command, using the --by option). However it's
> possible to write a function to do this sort of thing. The
> following is not very general but should give you the idea:
>
> <hansl>
> function matrix aggregate (series x, series y, string funname)
> matrix m = values(y) ~ 0
> loop i=1..rows(m) --quiet
> smpl y == m[i,1] --restrict --replace
> m[i,2] = @funname(x)
> printf "@funname(x) for y=%g: %g\n", m[i,1], m[i,2]
> endloop
> colnames(m, "y f(x)")
> return m
> end function
>
> open credscore.gdt
> m = aggregate(Income, Acc, "mean")
> print m
> m = aggregate(Income, Acc, "sd")
> print m
> </hansl>
Mmmm. I like it. This as a native function would be very nice to have.
Plus, this is one of those cases in which C would be much much faster than
hansl.
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------