[R] "flipping" vector and matrix

Robin Hankin
Tue, 23 Oct 2007 14:41:18 -0000

Hello


for vectors, use rev()

For matrices and arbitrary-dimensioned arrays,
use arev() of the magic package:


 > library(magic)
 > b <- matrix(1:9,3,3)
 > b
      [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9
 > arev(b)
      [,1] [,2] [,3]
[1,]    9    6    3
[2,]    8    5    2
[3,]    7    4    1
 >






On 23 Oct 2007, at 11:45, Rainer M Krug wrote:

> Hi
>
> I have a vector
>
> x <- c(1, 2, 3, 4, 5)
>
> and I want to "flip" it around, i.e. I need
>
> 5, 4, 3, 2, 1
>
> Is there a ssolution apart from
>
> y <- x[length(x):1]
>
>
> I am also looking for the same for a matrix M, i.e.
>
> 1 2 3
> 4 5 6
> 7 8 9
>
> should become
>
> 7 8 9
> 4 5 6
> 1 2 3
>
> again, I am using
>
> M[1:dim(M)[1], dim(M)[2]:1]
>
>
> Thanks
>
> Rainer
>
> ______________________________________________
> R-help at 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.

--
Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
  tel  023-8059-7743