Hi everybody,
I'm wondering whether some of the function packages are still needed,
because sometimes it looks as if the same functionality is already built
into gretl. Here's a quick list in random order:
1) "clustered_ols" by Claudia Pigini. In what way is this different from
the built-in "ols ... --cluster=xyz"?
2) "cnumber" by Monsueto, S.E -- Here I don't think it's redundant but
I'm not getting the same results as with other code that should (?) be
equivalent. Consider this example and please explain why the results are
different:
<hansl>
include cnumber.gfn
open greene12_1.gdt
matrix X = {age, income, expend}
cnumber (X)
l = eigensym(X'X, null) # lines taken from Allin's email
CN = maxc(l)/minc(l) #
printf "CN = %g, (square root = %g)\n", CN, sqrt(CN)
</hansl>
3) "fgls" by Yi-Nung Yang: the help just says feasible GLS which is very
vague and generic; in what way is this different from gretl's "hsk" or
"wls" commands? If it is different, I would suggest to make the help
text more informative.
4) "GHegy" by Ignacio Díaz-Emparanza and "HEGY_test" by Jack
Lucchetti.
Could you guys perhaps consolidate these?
5) "HoltWinters" by Ignacio Díaz-Emparanza. This sounds a lot like it's
also done by the "fcModels" package by Yi-Nung Yang. Is this true?
6) "JB" by Yi-Nung Yang. This does a Jarque-Bera test and even the help
text mentions that it is built into gretl (as "normtest ... --jbera").
So it's not obvious to me what the purpose of the package is.
7) "MWU" and "mwu" by Yi-Nung Yang. AFAICS the only difference is
whether you pass the arguments as series or as vectors (matrices). This
may be a matter of taste, but personally I would suggest that you choose
which is the interface of your function, i.e. series or matrices, and
then the user/caller will have to follow that rule, and the other
package with the other interface would be gone.
And with respect to "mwu_dummy", this is even more of a personal taste
thing, but perhaps you could consolidate all this into one function, for
example by introducing a third function parameter with a default value:
"function void mwu(series x, series y, int dummy[0])"
So to do what "mwu_dummy()" does now you would pass your 'group'
variable as y, and call the function with dummy=1.
Thanks,
sven