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