In addition, If your matrix names do not follow any particular pattern: tiger<- matrix(1:20,ncol=5) cat<- matrix(21:40,ncol=5) dog<- matrix(41:60,ncol=5) wolf<- matrix(61:80,ncol=5) vec<- c(1,2,4,3,2,3,1) vec2<- c("tiger","cat","dog","wolf") #Suppose, you wanted the order to be "tiger", "cat", "dog", "wolf" vec2<- factor(vec2,levels=vec2) vec2 #[1] tiger cat dog wolf #Levels: tiger cat dog wolf res3<-do.call(rbind,lapply(vec,function(i) get(as.character(vec2[as.numeric(vec2)==i])))) res3 # [,1] [,2] [,3] [,4] [,5] #[1,] 1 5 9 13 17 #[2,] 2 6 10 14 18 #[3,] 3 7 11 15 19 #[4,] 4 8 12 16 20 #[5,] 21 25 29 33 37 #[6,] 22 26 30 34 38 #[7,] 23 27 31 35 39 #[8,] 24 28 32 36 40 #[9,] 61 65 69 73 77 #[10,] 62 66 70 74 78 #[11,] 63 67 71 75 79 #[12,] 64 68 72 76 80 #[13,] 41 45 49 53 57 #[14,] 42 46 50 54 58 #[15,] 43 47 51 55 59 #[16,] 44 48 52 56 60 #[17,] 21 25 29 33 37 #[18,] 22 26 30 34 38 #[19,] 23 27 31 35 39 #[20,] 24 28 32 36 40 #[21,] 41 45 49 53 57 #[22,] 42 46 50 54 58 #[23,] 43 47 51 55 59 #[24,] 44 48 52 56 60 #[25,] 1 5 9 13 17 #[26,] 2 6 10 14 18 #[27,] 3 7 11 15 19 #[28,] 4 8 12 16 20
A.K. ----- Original Message ----- From: arun <smartpink...@yahoo.com> To: Preetam Pal <lordpree...@gmail.com> Cc: Sent: Thursday, April 25, 2013 9:03 AM Subject: Re: [R] Selecting and then joining data blocks HI Preetam, I created the matrices in a list because it was easier to create. If you look at the second solution: B1<- lst1[[1]] B2<- lst1[[2]] B3<- lst1[[3]] B4<- lst1[[4]] Consider that B1, B2, B3, B4 are your actual matrices and apply the solution below: paste0("B",vec) #gives the names of the matrices #[1] "B1" "B2" "B4" "B3" "B2" "B3" "B1" using get(), will get the matrices stored in that names. res2<-do.call(rbind,lapply(vec,function(i) get(paste0("B",i)))) If the names of the matrices are different, you need to change it accordingly. I programmed it based on the information you gave. I hope this helps. Arun ________________________________ From: Preetam Pal <lordpree...@gmail.com> To: arun <smartpink...@yahoo.com> Sent: Thursday, April 25, 2013 8:53 AM Subject: Re: [R] Selecting and then joining data blocks Hi Arun, Thanks for your solution. But there is only 1 thing which i could not understand: In my case, the 4 matirces(B1,B2,B3,B4) were already specified and i have to work with these only...how do I accommodate that (instead of letting R produce the big matrix by random sampling)..This might be very trivial, but i am a starter with R...I shall really appreciate if you could advise me on this. Again thanks, Preetam On Thu, Apr 25, 2013 at 5:44 PM, arun <smartpink...@yahoo.com> wrote: HI, >set.seed(24) >#creating the four matrix in a list > >lst1<-lapply(1:4,function(x) matrix(sample(1:40,20,replace=TRUE),ncol=5)) >names(lst1)<- paste0("B",1:4) >vec<- c(1,2,4,3,2,3,1) >res<-do.call(rbind,lapply(vec,function(i) lst1[[i]])) >dim(res) >#[1] 28 5 > > >#or >B1<- lst1[[1]] > B2<- lst1[[2]] > B3<- lst1[[3]] > B4<- lst1[[4]] > > res2<-do.call(rbind,lapply(vec,function(i) get(paste0("B",i)))) > identical(res,res2) >#[1] TRUE >A.K. > > > > > >----- Original Message ----- >From: Preetam Pal <lordpree...@gmail.com> >To: r-help@r-project.org >Cc: >Sent: Thursday, April 25, 2013 7:51 AM >Subject: [R] Selecting and then joining data blocks > >Hi all, > >I have 4 matrices, each having 5 columns and 4 rows .....denoted by >B1,B2,B3,B4. >I have generated a vector of 7 indices, say (1,2,4,3,2,3,1} which refers to >the index of the matrices to be chosen and then appended one on the top of >the next: like, in this case, I wish to have the following mega matrix: >B1over B2 over B4 over B3 over B2 over B3 over B1. > >1> How can I achieve this? >2> I don't want to manually identify and arrange the matrices for each >vector of index values generated (for which the code I used is : >index=sample( 4,7,replace=T)). How can I automate the process? > >Basically, I am doing bootstrapping , but the observations are actually 4X5 >matrices. > >Appreciate your help. > > >Thanks, >Preetam > > >--- > >Preetam Pal >(+91)-9432212774 >M-Stat 2nd Year, Room No. N-114 >Statistics Division, C.V.Raman >Hall >Indian Statistical Institute, B.H.O.S. >Kolkata. > > [[alternative HTML version deleted]] > >______________________________________________ >R-help@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. > > -- Preetam Pal (+91)-9432212774 M-Stat 2nd Year, Room No. N-114 Statistics Division, C.V.Raman Hall Indian Statistical Institute, B.H.O.S. Kolkata. ______________________________________________ R-help@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.