Re: [R] implicit loop for nested list

2023-01-27 Thread Naresh Gurbuxani
Thanks everyone for their solutions. My problem is solved. Sent from my iPhone > On Jan 27, 2023, at 12:17 AM, Andrew Simmons wrote: > > I would use replicate() to do an operation with random numbers repeatedly: > > ``` > mysim <- replicate(10, { >two.mat <- matrix(rnorm(4), 2, 2) >f

Re: [R] implicit loop for nested list

2023-01-26 Thread Andrew Simmons
I would use replicate() to do an operation with random numbers repeatedly: ``` mysim <- replicate(10, { two.mat <- matrix(rnorm(4), 2, 2) four.mat <- matrix(rnorm(16), 4, 4) list(two.mat = two.mat, four.mat = four.mat) }) ``` which should give you a matrix-list. You can slice this mat

Re: [R] implicit loop for nested list

2023-01-26 Thread Jeff Newmiller
Elegance is in the eyes of the beholder... extractor <- function( simlist, sim_name ) { do.call( cbind , lapply( simlist , function( r ) r[[ sim_name ]] ) ) } extractor( mysim, "two.mat" ) ... but using do.call will be much more memory efficient than successive cbind oper

Re: [R] implicit loop for nested list

2023-01-26 Thread Bert Gunter
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_gurbux...@hotmail.com> wr

[R] implicit loop for nested list

2023-01-26 Thread Naresh Gurbuxani
> > 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 w