On Tue, 19 Feb 2013, ahmadou dicko wrote:

> I want to thank again all Gretl developpers for this wonderful software.

Glad you like it!

> 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

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>

Allin Cottrell

Reply via email to