Hello,

Try the following.


rot90 <- function(x, n = 1){
        r90 <- function(x){
                y <- matrix(rep(NA, prod(dim(x))), nrow = nrow(x))
                for(i in seq_len(nrow(x))) y[, i] <- rev(x[i, ])
                y
        }
        for(i in seq_len(n)) x <- r90(x)
        x
}

mat <- matrix(letters[1:9], byrow = TRUE, nrow = 3)

rot90(mat)
rot90(mat, 3)


Hope this helps,

Rui Barradas

Em 05-02-2015 21:17, Karim Mezhoud escreveu:
Dear aal,

Is there a way to rotate array or a cube of matrices by Y axis?


MatLab example:

A = cat(3,{'a' 'b' 'c';'d' 'e' 'f';'g' 'h' 'i'},{'j' 'k' 'l';'m' 'n'
'o';'p' 'q' 'r'})

A(:,:,1) =

     'a'    'b'    'c'
     'd'    'e'    'f'
     'g'    'h'    'i'


A(:,:,2) =

     'j'    'k'    'l'
     'm'    'n'    'o'
     'p'    'q'    'r'

Rotate the cell array by 270 degrees.

B = rot90(A,3)

B(:,:,1) =

     'g'    'd'    'a'
     'h'    'e'    'b'
     'i'    'f'    'c'


B(:,:,2) =

     'p'    'm'    'j'
     'q'    'n'    'k'
     'r'    'o'    'l'


karim

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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