Hi,
I'd like to point out, that a 'good' 'aggregate by' function would
do such a job as described below.
Unfortunately I'm stuck with more then bivariate interaction but
I'm sure GRETL can do this,
this question is how!
It's even more complex since the R function is not that good
either, cos e.g. for MAVOVA one needs the
variance-covariance-structure of
the 'interaction series'. That's why in GRETL lists should be
processed which makes the stuff not easier.
I worked around with the new '^' operator and have some promising
results, but a build-in function would be the best.
Cheers
Leon
<hansl>
open pizza4.gdt
series ages = age<=20 ? 0 : (age>20 && age <=40)
? 1 : 2
set echo off
foreign language=R --send-data --quiet
library(plyr)
ddply(gretldata[,c(1,2,4,6,8)], ~ female + college + ages,
numcolwise(mean))
end foreign
<hansl>
While the bivariate case in rather easy as in
<hansl>
open pizza4.gdt
set echo off
series ages = age<=20 ? 0 : (age>20 && age <=40)
? 1 : 2
list G1 = 2 4
list G2 = 2 8
list G3 = 4 8
list G = G1 || G2
scalar times = 2 # should also
be possible to be set to nelem(G)
#set up of all combination list
loop for i=2..times -q
string listName = "inter$i"
list @listName = null
endloop
list part1 = null
list part2 = G
# bivariate interaction
loop foreach i G-q
part1 = G.$i
part2 -= G.$i
inter2 += part2^part1
part2 += G.$i
endloop
<hansl>
Am 20.02.2013 17:45, schrieb Riccardo (Jack) Lucchetti:
On Wed, 20 Feb 2013, Allin Cottrell wrote:
On Wed, 20 Feb 2013, Riccardo (Jack)
Lucchetti wrote:
Very nice. The next step, logically,
would be to support user-written functions too. However, this
would mean to complicate the code by a factor (I reckon) of 1
to 5 or so.
I was afraid the factor might be at the top end of that range,
but I experimented and it's more like 0.25. So user-functions
are now supported. The function must take a single series
argument and return a scalar. Example:
<hansl>
function scalar my_aggregator (series x)
return sum(x^3)
end function
open credscore.gdt
matrix m = aggregate(Income, Acc, my_aggregator)
print m
</hansl>
Now, I don't want to be guilty of personality cult, but at the
risk of sounding like an old Stalinist apparatchik I have to say I
am left in awe by the skills of our beloved leader.
Studying the cvs diff has been for several years my primary method
for learning C, but this case stands out as a true gem.
Thank you.
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti@univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------
_______________________________________________
Gretl-users mailing list
Gretl-users@lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users