31 lines
974 B
R
31 lines
974 B
R
|
|
#' @title Minimum (MATLAB version)
|
||
|
|
#' @description Finds the minimum value for each column of a matrix, potentially returning the indices instead
|
||
|
|
#' @param X matrix
|
||
|
|
#' @param indices return indices?
|
||
|
|
#' @return Either a list or a vector
|
||
|
|
#' @author Waldir Leoncio
|
||
|
|
min_MATLAB <- function(X, indices = TRUE) {
|
||
|
|
mins <- apply(X, 2, min)
|
||
|
|
idx <- sapply(seq_len(ncol(X)), function(x) match(mins[x], X[, x]))
|
||
|
|
if (indices) {
|
||
|
|
return(list(mins = mins, idx = idx))
|
||
|
|
} else {
|
||
|
|
return(mins)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#' @title Maximum (MATLAB version)
|
||
|
|
#' @description Finds the minimum value for each column of a matrix, potentially returning the indices instead
|
||
|
|
#' @param X matrix
|
||
|
|
#' @param indices return indices?
|
||
|
|
#' @return Either a list or a vector
|
||
|
|
#' @author Waldir Leoncio
|
||
|
|
max_MATLAB <- function(X, indices = TRUE) {
|
||
|
|
maxs <- apply(X, 2, max)
|
||
|
|
idx <- sapply(seq_len(ncol(X)), function(x) match(maxs[x], X[, x]))
|
||
|
|
if (indices) {
|
||
|
|
return(list(maxs = maxs, idx = idx))
|
||
|
|
} else {
|
||
|
|
return(maxs)
|
||
|
|
}
|
||
|
|
}
|