Hi Does anyone know how I might pick out diagonal elements of a matrix using a vector?
If I create a matrix a: a <- matrix(c(1:16), 4, byrow=TRUE) and I want to pick out the elements (1,1),(2,2),(3,3), or another arbitrary diagonal (upper or lower), is there any way I can use a vector to do this? So if I want a diagonal of size 3, I could create a vector like x <- c(0:2) and then pick out a[1+x,1+x]? Currently, using a vector in this way gives me a sub-matrix, as I get the cartesian product of the indexes (which is to be expected, as I guess I am misusing the vector notion here). Anyone know how to do this? Cheers Rory [[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.