Rotate a matrix by 90 degrees
stm_rot90.Rd
stm_rot90()
rotates a matrix by 90 degrees counterclockwise. The
number of 90-degree rotations is determined by the argument k
.
Details
The function supports multiple rotations by accepting an integer
k
. The matrix is rotated counterclockwise by 90 degrees
for each rotation. The parameter k
is modulo 4 to handle
the cases where more than 4 rotations are requested.
Examples
A <- matrix(1:12, nrow = 3, byrow = TRUE)
print(A)
#> [,1] [,2] [,3] [,4]
#> [1,] 1 2 3 4
#> [2,] 5 6 7 8
#> [3,] 9 10 11 12
stm_rot90(A)
#> [,1] [,2] [,3]
#> [1,] 4 8 12
#> [2,] 3 7 11
#> [3,] 2 6 10
#> [4,] 1 5 9
stm_rot90(A, k = 2)
#> [,1] [,2] [,3] [,4]
#> [1,] 12 11 10 9
#> [2,] 8 7 6 5
#> [3,] 4 3 2 1
stm_rot90(A, k = -2)
#> [,1] [,2] [,3] [,4]
#> [1,] 12 11 10 9
#> [2,] 8 7 6 5
#> [3,] 4 3 2 1
stm_rot90(A, k = 3)
#> [,1] [,2] [,3]
#> [1,] 9 5 1
#> [2,] 10 6 2
#> [3,] 11 7 3
#> [4,] 12 8 4
stm_rot90(A, k = 4) # original matrix
#> [,1] [,2] [,3] [,4]
#> [1,] 1 2 3 4
#> [2,] 5 6 7 8
#> [3,] 9 10 11 12