On Apr 20, 2012, at 7:05 AM, Petr Savicky wrote:
On Fri, Apr 20, 2012 at 03:03:40AM -0700, juliane0212 wrote:
I'm having some problems computing a matrix being symmetric on both
diagonals.
Does anyone know a way to get from this matrix
M <- matrix(c(1,0,0,0,2,7,0,0,3,4,0,0,6,0,0,0), ncol=4)
to this one
M_final <- matrix(c(1,2,3,6,2,7,4,3,3,4,7,2,6,3,2,1),
ncol=4)
Hi.
Try the following.
M[row(M) > col(M)] <- t(M)[row(M) > col(M)]
n <- nrow(M)
M[row(M) + col(M) > n + 1] <- M[n:1, n:1][row(M) + col(M) > n + 1]
all(M == M_final)
[1] TRUE
How about?
> M[3:4, ] <- rev(M[1:2,])
> M
[,1] [,2] [,3] [,4]
[1,] 1 2 3 6
[2,] 2 7 4 3
[3,] 3 4 7 2
[4,] 6 3 2 1
----
> N <- matrix(c(1,2,3,6,2,7,4,3,3,4,7,2,6,3,2,1), ncol=4)
> N==M
[,1] [,2] [,3] [,4]
[1,] TRUE TRUE TRUE TRUE
[2,] TRUE TRUE TRUE TRUE
[3,] TRUE TRUE TRUE TRUE
[4,] TRUE TRUE TRUE TRUE
Hope this helps.
Petr Savicky.
______________________________________________
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.
David Winsemius, MD
West Hartford, CT
______________________________________________
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.