[R] Rotate array by 90°
    Rui Barradas 
    ruipbarradas at sapo.pt
       
    Thu Feb  5 23:12:17 CET 2015
    
    
  
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 at 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.
>
    
    
More information about the R-help
mailing list