[R] assignment in lists

Philippe Grosjean phgrosjean at sciviews.org
Fri Jun 27 08:34:40 CEST 2003


Prof. Brian Ripley wrote:
>Philippe,

>as.list(NULL) is the same as list(), and that is what I think you should
>be using in both cases.

OK, thank you.

>However, I do think that either both or neither of your examples should
>work: my preference would be `neither' but as S allows both it should be
>`either'.

I agree with you, including on the fact that 'neither' should work. I would
prefer a language that obliges to declare list components before using them.
Experimenting a little bit more around this problem, I got that:

- assigning NULL to a list entry deletes this entry from the list. OK, fine.
Asking for:
my.list$non.existing.item gives NULL. Thus, it is consistent. However, if I
use this:

> a <- list(item1=NULL, item2=NULL)
> a
$item1
NULL

$item2
NULL

- this is a strange behaviour because the previous command should have
returned 'list()' in a. Consequently, when I reallocate NULL to either
'item1', or 'item2' of 'a', it deletes it:

> a$item1 <- NULL
> a
$item2
NULL

Not an harmfull behaviour, but inconsistent with the rest.
Best,

Philippe Grosjean

...........]<(({°<...............<°}))><...............................
 ) ) ) ) )
( ( ( ( (       Dr. Philippe Grosjean
 ) ) ) ) )
( ( ( ( (       LOV, UMR 7093
 ) ) ) ) )      Station Zoologique
( ( ( ( (       Observatoire Océanologique
 ) ) ) ) )      BP 28
( ( ( ( (       06234 Villefranche sur mer cedex
 ) ) ) ) )      France
( ( ( ( (
 ) ) ) ) )      tel: +33.4.93.76.38.18, fax: +33.4.93.76.38.34
( ( ( ( (
 ) ) ) ) )      e-mail: phgrosjean at sciviews.org
( ( ( ( (       SciViews project coordinator (http://www.sciviews.org)
 ) ) ) ) )
.......................................................................




More information about the R-help mailing list