Agreed. Just putting that out there. On Mon, Jun 27, 2016 at 12:49 PM, Gabor Grothendieck <ggrothendi...@gmail.com> wrote: > One would normally want the original order that so that one can stack > a list, operate on the result and then unstack it back with the > unstacked result having the same ordering as the original. > > LL <- list(z = 1:3, a = list()) > # since we can't do s <- stack(LL,. drop = FALSE) do this instead: > s <- transform(stack(LL), ind = factor(as.character(ind), levels = names(LL))) > unstack(s) > > > > > On Mon, Jun 27, 2016 at 2:55 PM, Michael Lawrence > <lawrence.mich...@gene.com> wrote: >> I'll add the drop argument but I'm wondering about the order of the >> levels. Should we set the levels to unique(names(x)) or sort them, >> too? >> >> On Mon, Jun 27, 2016 at 10:39 AM, Gabor Grothendieck >> <ggrothendi...@gmail.com> wrote: >>> stack() seems to drop empty levels. Perhaps there could be a >>> drop=FALSE argument if one wanted all the original levels. In the >>> example below, we may wish to retain level "b" in s$ind even though >>> component LL$b has length 0. >>> >>>> LL <- list(a = 1:3, b = list()) >>>> s <- stack(LL) >>>> str(s) >>> 'data.frame': 3 obs. of 2 variables: >>> $ values: int 1 2 3 >>> $ ind : Factor w/ 1 level "a": 1 1 1 >>> >>> >>> -- >>> Statistics & Software Consulting >>> GKX Group, GKX Associates Inc. >>> tel: 1-877-GKX-GROUP >>> email: ggrothendieck at gmail.com >>> >>> ______________________________________________ >>> R-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >>> > > > > -- > Statistics & Software Consulting > GKX Group, GKX Associates Inc. > tel: 1-877-GKX-GROUP > email: ggrothendieck at gmail.com >
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel