Change the "4" in embed(c(0*x[-1], x, 0*x[-1]), 4) to length(x) and it will generalize to other length vectors. This solution is not as compact, but it illustrates a relatively obscure R function:
> x <- 1:4 > ncol <- length(x) > zeros <- rep(0, ncol - 1) > toeplitz(c(zeros, x, zeros))[-(1:(ncol-1)), 1:ncol] [,1] [,2] [,3] [,4] [1,] 1 0 0 0 [2,] 2 1 0 0 [3,] 3 2 1 0 [4,] 4 3 2 1 [5,] 0 4 3 2 [6,] 0 0 4 3 [7,] 0 0 0 4 ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Gabor Grothendieck Sent: Tuesday, March 7, 2017 7:21 AM To: Peter Thuresson <peter.thures...@umea.se> Cc: R-help@r-project.org Subject: Re: [R] Matrix Assuming that the input is x <- 1:4, try this one-liner: > embed(c(0*x[-1], x, 0*x[-1]), 4) [,1] [,2] [,3] [,4] [1,] 1 0 0 0 [2,] 2 1 0 0 [3,] 3 2 1 0 [4,] 4 3 2 1 [5,] 0 4 3 2 [6,] 0 0 4 3 [7,] 0 0 0 4 On Mon, Mar 6, 2017 at 11:18 AM, Peter Thuresson <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) > -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.