Am 13.07.2010 17:32, schrieb Allin Cottrell:
On Tue, 13 Jul 2010, Artur T. wrote:
> Thank you very much for your responses and ideas. This was exactly what
> I was looking for!! ;-)
>
Good.
> I've got only one problem - maybe it is a bug or so. I modified the
> function like this:
> ------
> function series paasche_index (list P, int base)
> matrix MP = {P}
> matrix Num = sumr(MP)
> matrix Den = sumr(MP[base,])
> series ret = 100 * (Num ./ Den)
> return ret
> end function
> -----
>
> I've got obs. from 1947:1 to 2010:2 and before running the function for
> a variable I restrict the sample by "smpl --no-missing x". For some
> reason I obtain an error for some variables saying:
> "? smpl --no-missing q
> Full data range: 1947:1 - 2010:2 (n = 254)
> Current sample: 1952:1 - 2008:4 (n = 228)
>
> ? series q_indx = paasche_index(q, 2005:1)
> Index value 233 is out of bounds
>
"2005:1" translates into an offset from the absolute start of the
data, namely 233 if the data start in 1947:1. But if you
sub-sample the data then convert to a matrix, row 233 will not
correspond to 2005:1 any more, and may be out of bounds.
I don't think this is a bug, it's just something you have to keep
in mind when converting between series and matrices.
What you'd have to do is
smpl --no-missing q
scalar base = 2005:1 - $t1 + 1
series q_indx = paasche_index(q, base)
Ah, I understand I think. Thanks for the alternative way ;-)
Allin Cottrell
_______________________________________________
Gretl-users mailing list
Gretl-users(a)lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users
Artur