See response inline below.

> -----Original Message-----
> From: Deepayan Sarkar [mailto:deepayan.sar...@gmail.com]
> Sent: Friday, June 28, 2013 7:17 AM
> To: Raubertas, Richard
> Cc: R-devel@r-project.org
> Subject: Re: [Rd] 'modifyList' drops (not adds) NULL components
> 
> On Thu, Jun 27, 2013 at 10:59 PM, Raubertas, Richard
> <richard_rauber...@merck.com> wrote:
> > Dear list,
> >
> > Utils::modifyList() drops NULL components in its second argument, instead
> of adding them to the first argument.  Compare:
> >> modifyList(x=list(A=1), val=list(B=2, C=3))
> > $A
> > [1] 1
> >
> > $B
> > [1] 2
> >
> > $C
> > [1] 3
> >
> >> modifyList(x=list(A=1), val=list(B=NULL, C=3))
> > $A
> > [1] 1
> >
> > $C
> > [1] 3
> >
> > To me this seems inconsistent with the documentation ("Elements in 'val'
> which are missing from 'x' are added to 'x'."),
> 
> Agreed.
> 
> > and also with how I'd want the function to behave.
> 
> Note that you still get
> 
> > foo <- modifyList(x=list(A=1), val=list(B=NULL, C=3))
> > foo$B
> NULL
> 
> So is there a specific reason you want the NULL elements to be
> explicitly listed?
> 
> -Deepayan

Yes, definitely.  Although 'foo$B' gives the same result, 'length(foo)' or 
'names(foo)' do not.  Basically, the object 'foo', considered as a whole, is 
very different in the two cases, and this was a problem in the code I was 
writing.

Richard
> 
> >
> >> sessionInfo()
> > R version 3.0.1 Patched (2013-06-16 r62969)
> > Platform: x86_64-w64-mingw32/x64 (64-bit)
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252
> > [2] LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252
> > [4] LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> >
> > Richard Raubertas
> > Merck & Co.
Notice:  This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at 
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from 
your system.
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to