[Rd] 'modifyList' drops (not adds) NULL components

Deepayan Sarkar deepayan.sarkar at gmail.com
Fri Jun 28 13:17:06 CEST 2013


On Thu, Jun 27, 2013 at 10:59 PM, Raubertas, Richard
<richard_raubertas at 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

>
>> 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.



More information about the R-devel mailing list