> >> mat > >> # [,1] [,2] [,3] > >> # [1,] 1 2 1 > >> # [2,] 3 2 6 > >> # [3,] 4 5 3 > >> > >> matrix(rev(mat),nrow=3,byrow=TRUE)[(3:1),] > >> # [,1] [,2] [,3] > >> # [1,] 4 3 1 > >> # [2,] 5 2 2 > >> # [3,] 3 6 1 > >> > >> How's that? (But straightforward? Straightbackward, more like). > > > > One might also work it every bit as straight backward as follows: > > z<-matrix(c(1,2,1,3,2,6,4,5,3), ncol=3, byrow=TRUE) > > t(z[3:1,3:1])[3:1,] > > Now that *is* neat! Thanks!
Unfortunately, it doesn't generalize and it's rather baroque. What is wanted is to make a matrix with row 1 as the last column, row 2 as the second to last column, etc. In otherwords, t(z[r:1,]) works for z <- matrix(c(1,2,1,3,2,6,4,5,3), ncol=3, byrow=TRUE) z <- matrix(c(1,2,1,3,2,6,4,5), ncol=4, byrow=TRUE) cur -- Curt Seeliger, Data Ranger Raytheon Information Services - Contractor to ORD seeliger.c...@epa.gov 541/754-4638 [[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.