colnth: Column and row-wise nth smallest value of a matrix/vector

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/nth.R

Description

Column and row-wise nth smallest value of a matrix/vector.

Usage

1
2
3
4
5
colnth(x,elems, num.of.nths = 1,descending = FALSE,na.rm = FALSE,
	index.return = FALSE, parallel = FALSE)
rownth(x,elems, num.of.nths = 1,descending = FALSE,na.rm = FALSE,
	index.return = FALSE, parallel = FALSE)
nth(x, k, num.of.nths = 1,descending = FALSE,index.return = FALSE,na.rm = FALSE)

Arguments

x

A matrix with the data.

elems

An integer vector with the kth smallest number to be returned for each column/row.

k

The kth smallest/biggest number to be returned.

num.of.nths

The number of the returned nths. By default is 1. Not use with argument parallel, for now.

descending

A boolean value (TRUE/FALSE) for descending order (biggest number). By default is ascending (smallest number).

index.return

Return the index of the kth smallest/biggest number.

parallel

Do you want to do it in parallel in C++? TRUE or FALSE only for col-row wise.

na.rm

TRUE or FAlSE for remove NAs if exists. Only for function "nth".

Details

The functions is written in C++ in order to be as fast as possible.

Value

For "colnth" , "rownth": A vector with the column/row nth

For "nth": The nth value.

Author(s)

Manos Papadakis <papadakm95@gmail.com>

R implementation and documentation: Michail Tsagris <mtsagris@uoc.gr> and Manos Papadakis <papadakm95@gmail.com>.

See Also

Median, colMedians, colMeans (buit-in R function)

Examples

1
2
3
4
5
6
7
8
9
x <- matrix( rnorm(100 * 100), ncol = 100 )
elems <- sample(1:100,100,TRUE)
system.time( colnth(x,elems) )
system.time( rownth(x,elems) )
x <- rnorm(1000)
nth(x, 500)
sort(x)[500]

x<-elems<-NULL

Example output

Loading required package: Rcpp
Loading required package: RcppZiggurat
   user  system elapsed 
  0.000   0.000   0.008 
   user  system elapsed 
  0.001   0.000   0.002 
[1] -0.03181532
[1] -0.03181532

Rfast documentation built on May 18, 2021, 1:07 a.m.