https://github.com/cran/pracma
Tip revision: c79a04b5074656b36e591191eb8137b70a349932 authored by Hans W. Borchers on 30 June 2014, 00:00:00 UTC
version 1.7.0
version 1.7.0
Tip revision: c79a04b
flipdim.R
##
## Matlab flipping matrices functions
##
flipdim <- function(a, dim=1) {
if (!is.matrix(a))
stop("Argument 'a' must ba a matrix.")
if (!(dim %in% c(1,2)))
stop("Argument 'dim' must be 1 or 2 (for rows or columns).")
if (dim == 1) {
a <- a[nrow(a):1, ]
} else {
a <- a[ ,ncol(a):1]
}
return(a)
}
flipud <- function(a) {
flipdim(a, 1)
}
fliplr <- function(a) {
flipdim(a, 2)
}
rot90 <- function(a, k=1) {
if (!is.matrix(a))
stop("Argument 'a' must ba a matrix.")
if (floor(k) != ceiling(k))
k <- 0
switch(EXPR = 1 + (k %% 4),
a,
t(a[, seq(ncol(a), 1, by=-1)]),
a[seq(nrow(a), 1, by=-1), seq(ncol(a), 1, by=-1)],
{a <- t(a); a[, seq(ncol(a), 1, by=-1)]}
)
}