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.

Reply via email to