Does the following do what you want? > d <- list() # empty list > for(i in 1:8) if (i %% 2 == 0) { newElement <- structure(list(i), names=LETTERS[i]) d <- c(d, newElement) } > str(d) List of 4 $ B: int 2 $ D: int 4 $ F: int 6 $ H: int 8
Bill Dunlap TIBCO Software wdunlap tibco.com On Fri, Jun 5, 2015 at 1:40 AM, carol white via R-help <r-help@r-project.org > wrote: > It might be an easy question but how to construct correctly a list in a > loop? > > The following doesn't work > before starting the loopd = NULL#in the loop, 1st iteration > d = list(d,c(1,2,3)d[[1]] > NULL > > [[2]] > [1] 1 2 3#in the loop, 2nd iterationd=list(d,c(4,5,6)d > [[1]] > [[1]][[1]] > NULL > > [[1]][[2]] > [1] 1 2 3 > > > [[2]] > [1] 4 5 6 > the goal is to have the result of d= list(c(1,2,3),c(4,5,6)) where the > list components are not known out of the loop. > d[[1]] > [1] 1 2 3 > > [[2]] > [1] 4 5 6 > Moreover, how to name the components of the list in the loop while > constructing as the names are not known out of the loop, either? note that > the name of the component is stored in a variable in the loop > > d = NULL#name1 contains the name for c(1,2,3), how to give the name below? > d = list(d,c(1,2,3) > Thanks > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.