[R] implicit loop for nested list

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Fri Jan 27 06:14:29 CET 2023


Is this what you want:

## This cbinds all the 2 matrix components of mysim
## producing a 2 x 20 matrix
do.call(cbind,lapply(mysim,`[[`,1))

## Change the 1 to a 2 to cbind the other components.

Cheers,
Bert

Tha

On Thu, Jan 26, 2023 at 7:33 PM Naresh Gurbuxani <
naresh_gurbuxani using hotmail.com> wrote:

> >
> > I am looking for a more elegant way to write below code.
> >
> > #Simulation results have different dimensions
> > mysim <- lapply(1:10, function(y) {
> >    two.mat <- matrix(rnorm(4), nrow = 2)
> >    four.mat <- matrix(rnorm(16), nrow = 4)
> >    list(two.mat = two.mat, four.mat = four.mat) #results with different
> dimensions
> > })
> >
> > #Collect different components of simulation results
> > #Is it possible to do this with implicit loops?
> > mat2 <- matrix(nrow = 2, ncol = 1)
> > mat4 <- matrix(nrow = 4, ncol = 1)
> > for (mat.list in mysim) {
> >    mat2 <- cbind(mat2, mat.list[["two.mat"]])
> >    mat4 <- cbind(mat4, mat.list[["four.mat"]])
> > }
> > mat2 <- mat2[,-1]
> > mat4 <- mat4[,-1]
>
> ______________________________________________
> R-help using 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]]



More information about the R-help mailing list