Well, of course, I *did* make a dumb error (again!!). Here's the corrected version:
x <- c(1:5,10:12) ## generate vector of indices by outer and %% i <- seq_along(x) nc <- 4 ## number of columns desired #### Corrected statement #### indx <- (outer(i, rev(i-1),"+") %% length(x)) [,seq_len(nc)] +1 ##### Corrected statement matrix(x[indx],ncol = nc) Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Mar 6, 2017 at 11:00 AM, Bert Gunter <bgunter.4...@gmail.com> wrote: > Clever, Don. > > Here's a more explicit approach that generalizes (if I haven't made > any dumb errors): > > x <- c(1:5,10:12) > ## generate vector of indices by outer and %% > i <- seq_along(x) > nc <- 4 ## number of columns desired > ## get subscripting indices via outer() and %% > indx <- outer(i,rev(i),"+") %% (length(x))[,seq_len(nc)]+1 > matrix(x[indx],ncol = nc) > > Cheers, > Bert > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along > and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Mon, Mar 6, 2017 at 9:46 AM, MacQueen, Don <macque...@llnl.gov> wrote: >> How about this: >> >> p0 <- 1:4 >> >> matrix( c( rep( c(p0, rep(0, 4)) , times=3) , p0) , 7, 4) >> >> Of course, it would take some effort to generalize it to different lengths >> for p0. >> >> -Don >> >> -- >> Don MacQueen >> >> Lawrence Livermore National Laboratory >> 7000 East Ave., L-627 >> Livermore, CA 94550 >> 925-423-1062 >> >> >> On 3/6/17, 8:18 AM, "R-help on behalf of Peter Thuresson" >> <r-help-boun...@r-project.org on behalf of peter.thures...@umea.se> wrote: >> >> Hello, >> >> Is there a function in R which can transform, let say a vector: >> >> c(1:4) >> >> to a matrix where the vector is repeated but "projected" +1 one step >> down for every (new) column. >> I want the output below from the vector above, like this: >> >> p<-c(1,2,3,4,0,0,0,0,1,2,3,4,0,0,0,0,1,2,3,4,0,0,0,0,1,2,3,4) >> >> matrix(p,7,4) >> >> best regards / Peter >> >> [[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. >> >> >> ______________________________________________ >> 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. ______________________________________________ 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.