You can always write your own function: myDiag <- function(x, vec, k) { x[row(x) == col(x) - k] <- vec x }
myDiag(A, vec, -1) Of course, you should probably do some input checking too. --sundar On Wed, Mar 11, 2009 at 4:57 PM, Stu Field <s...@colostate.edu> wrote: > Sure, that'll work fine, thanks. > But I guess I was looking for something more similar to MatLab, I'm really > surprised R doesn't have a preset command for this (?) > Thanks again, > Stu > On 11 • Mar • 2009, at 5:49 PM, Sundar Dorai-Raj wrote: > > Does this help? > > A <- matrix(0, 6, 6) > vec <- 1:5 > A[row(A) == col(A) + 1] <- vec > > --sundar > > On Wed, Mar 11, 2009 at 4:42 PM, Stu Field <s...@colostate.edu> wrote: > > I'm trying to enter a vector into the subdiagonal of a matrix but > > cannot find a command in R which corresponds to the MatLab version of > > diag(vec, k), where vec = the vector of interest, and k = the diagonal > > (k=0 for the diagonal; k=-1 for the subdiagonal; k=1 for > > superdiagonal, etc.) > > Is there an equivalent command in R? > > I'm looking for something like this: > > vec = seq(1, 5, 1) # vector of interest > > A = xyz(vec,-1) # creates a 6x6 matrix with vec on the > > subdiagonal > > where xyz is some function similar to diag, but with differing > > arguments. > > I can't believe there is not a simple way to do this... > > Thanks for your help, > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Stu Field, PhD > > Postdoctoral Fellow > > Department of Biology > > Colorado State University > > 1878 Campus Delivery > > Fort Collins, CO 80523-1878 > > Office: E208 Anatomy/Zoology > > Phone: (970) 491-5744 > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > [[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. > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Stu Field, PhD > Postdoctoral Fellow > Department of Biology > Colorado State University > 1878 Campus Delivery > Fort Collins, CO 80523-1878 > Office: E208 Anatomy/Zoology > Phone: (970) 491-5744 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > ______________________________________________ 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.