Thanks Allin,
I see your point, but 
Example A:
list lstX = 1 2 3 4
matrix matX = {lstX}
 
is different from 
Example B:
matrix matX = {1,2,3,4}
and
matrix matX = {lstX[i]}
seem much more like Example A. But I definitely  see your point. I was just surprised.  It
is just as easy to store the list in a matrix and access each column of the matrix.
 Cheers and thanks,
Logan
-----Original Message-----
From: gretl-users-bounces(a)lists.wfu.edu [mailto:gretl-users-bounces@lists.wfu.edu] On
Behalf Of Allin Cottrell
Sent: Thursday, July 25, 2013 5:26 PM
To: Gretl list
Subject: Re: [Gretl-users] Access elements of a list
On Thu, 25 Jul 2013, Logan Kelly wrote:
 I have two questions. First, is this the correct list to post this 
 question? I am not sure if it belongs here or in the gretl-devl list. 
 Apologies, if I have guessed wrongly. 
Could go either way, no worries.
 Second, regarding accessing a list element. Should following assign 
 the data in the first series of lstX to matrix matX?
 matrix matX = {lstX[1]}
 Currently, this yields the matX = series id number. This question is 
 related to an earlier question on the list see below. 
That's what I'd expect. A named list in gretl is an array of ID numbers of series
in the current dataset. Let's look at the related case you mention:
>> Is it possible to access elements of a list. I need the
variable 
>> name-as a string-of the i_th element of a list. Something like
>>
>> string variable_name = varnam(ylist[i])
>
> You can't directly index into a list [...]
 Actually, that seems a bit lame. Now in CVS and snapshots you can do 
 that -- the expression above should now work (apart from the typo of 
 "varnam" for "varname" ;-). 
The help doc says of the varname() function: "If given an integer argument [v],
returns the name of the variable with ID number v, or generates an error if there is no
such variable." 
The expression "ylist[i]", for ylist a named list and i an index within bounds
for the list, yields a particular series ID number, which is what's wanted as an
argument for varname().
A series ID number can be used as such in many contexts in gretl (mostly commands rather
than functions), but if you try to use it in creating a matrix, as in
matrix matX = {lstX[1]}
the interpretation of the "ID number" as simply a number trumps its
interpretation as the index of a series -- otherwise it would be impossible to construct a
plain numerical matrix as, say,
matrix m = {1,2,3}
So: you can (now) index into a list using listname[i], but this gives you an integer
result, which will be interpreted as a series index only in certain contexts (which should
all be identified as such in the command and function help, I believe).
Allin Cottrell
_______________________________________________
Gretl-users mailing list
Gretl-users(a)lists.wfu.edu
http://lists.wfu.edu/mailman/listinfo/gretl-users