[R] assigning NULL to a list element without changing the length of the list
William Dunlap
wdunlap at tibco.com
Thu Nov 15 22:09:18 CET 2012
tmp0 <- list(a=1, b=2, c=3)
tmp0["b"] <- list(NULL) # single [, list(NULL), not double [[ and bare NULL
str(tmp0)
# List of 3
# $ a: num 1
# $ b: NULL
# $ c: num 3
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Gonçalo Ferraz
> Sent: Thursday, November 15, 2012 1:01 PM
> To: r-help at r-project.org
> Subject: [R] assigning NULL to a list element without changing the length of the list
>
> Hi,
>
> I have a list:
>
> tmp0 <- list(a=1, b=2, c=3)
>
> And I realize that I can append a NULL element to the end of this list, just by writing:
>
> length(tmp0) <- 4
>
> Now, the question is, how can I assign NULL to one of the existing list elements without
> changing the length of the list?
>
> Please note I am working from inside a for loop that is working on one list element at a
> time and in some circumstances I want to
> set one element to NULL. So, specifying the whole list again as in:
>
> tmp0 <- list(a=1,b=NULL,c=3)
>
> is not an option.
>
> But writing, say:
>
> tmp0 [[2]] <- NULL
>
> is not an option either, because it leaves me with a list of length 2.
>
> Is there a solution for this?
>
> Thank you
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list