Check if a vector is strictly increasing, strictly decreasing, not decreasing, or not increasing.

isOrdered(x, increasing = TRUE, strictly = TRUE)

Arguments

x

A numeric vector.

increasing

Test for increasing (TRUE) or decreasing (FALSE) values?

strictly

When TRUE, vectors with duplicate values are not considered ordered.

Value

A logical scalar indicating whether or not x is ordered.

Details

Designed for internal use with xts, this provides highly optimized tests for ordering.

See also

Author

Jeffrey A. Ryan

Examples


# strictly increasing
isOrdered(1:10, increasing=TRUE)
#> [1] TRUE
isOrdered(1:10, increasing=FALSE)
#> [1] FALSE
isOrdered(c(1,1:10), increasing=TRUE)
#> [1] FALSE
isOrdered(c(1,1:10), increasing=TRUE, strictly=FALSE)
#> [1] TRUE

# decreasing
isOrdered(10:1, increasing=TRUE)
#> [1] FALSE
isOrdered(10:1, increasing=FALSE)
#> [1] TRUE