Thank you very much this is exactly what I was looking for.
I'll try to understand better hansl to improve this function and generalized it.
I think that having a general "by" operator for common aggregator functions (max, mean, etc.) can be useful for other Gretl users.
Thanks again for this example showing hansl capabilities.
On Tue, 19 Feb 2013, ahmadou dicko wrote:Glad you like it!
> I want to thank again all Gretl developpers for this wonderful software.
This functionality is not built-in (except in relation to the
> I try to port some of my R code into Gretl and I miss few things.
>
> For example, what is the easiest way to perform some aggregate operation in
> Gretl like :
>
> - aggregate(x, by = y, FUN) in R
"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>
Allin Cottrell
_______________________________________________
Gretl-users mailing list
Gretl-users@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users