On Mon, 14 Jul 2008, Gordon Hughes wrote:
I would like to respond to Allin's note by drawing upon my
experience of
writing a variety of functions over the last 2-3 weeks. In doing this I was
aware of the dangers of overwriting existing variables when returning a list
of variables created in the functions. Hence, I would certainly favour the
separation implied by the adoption of the PROTECT_LISTS 1 option.
But, I have a further point that I would like to raise.
[... snip ...]
I agree the extension you propose would be nice. However, the underlying
machinery which deals with the dollar accessors doesn't lend itself to
accommodate it easily. Maybe using pointers is easier. Here's a small
proof-of-concept script:
<script>
function reverse_ols(series y, list X, matrix *rcoeff, series *rres)
ols y X --quiet
rcoeff = -$coeff
rres = -$uhat
end function
open data4-1
list reg = const sqft bedrms baths
ols price reg
u = $uhat
matrix foo
series bar
reverse_ols(price, reg, &foo, &bar)
print u bar -o
</script>
Riccardo (Jack) Lucchetti
Dipartimento di Economia
Università Politecnica delle Marche
r.lucchetti(a)univpm.it
http://www.econ.univpm.it/lucchetti