randomPTF {rioja}R Documentation

Random transfer functions to calculate variable importance

Description

Function for calculating the important of each taxon (predictor) in palaeoecological transfer functions

Usage

randomPTF(spec, env, fun, ncol = 1, nVar, nTF = 500, verbose = TRUE, 
          do.parallel = FALSE, ...)

## S3 method for class 'randomPTF'
plot(x, use.pointLabel=TRUE, ...)

## S3 method for class 'randomPTF'
print(x, ...)

Arguments

spec

a data frame or matrix of biological abundance data.

env

a vector of environmental values to be modelled.

fun

a transfer function method. Additional arguments can be passed with ...)

ncol

some transfer functions return more than one column of results, for example with different WAPLS components. col selects which column to use. See the relevant transfer function method help file.

nVar

number of variables (ie. species) to use in each randomisation (defaults to nsp/3).

nTF

number of random transfer functions to create (default=500).

verbose

logical show feedback during cross-validation.

do.parallel

logical to run in parallel on multi-core machines. If true a suitable parallel back-end should be installed (see examples).

...

additional parameters to the transfer function call.

x

an object of class randomPTF.

use.pointLabel

argument is deprecated.

Details

Function randomPTF calculates taxon importance values using a method analogous to that used in random forests and described in Juggins et al. (2015).

The parallel version can give c. 3 times speed-up on a quad-core machine.

Value

Function randomPTF returns an object of class randomPTF with the following named elements:

VI

taxon importance values, ordered form high to low.

spec

original species data frame.

env

original vector of environmental values.

Author(s)

Steve Juggins

References

Juggins S, Simpson GL, Telford RJ. Taxon selection using statistical learning techniques to improve transfer function prediction. The Holocene 2015; 25: 130-136.

Examples

## Not run: 
data(SWAP)
result <- randomPTF(SWAP$spec, SWAP$pH, fun=WA)
plot(result, cex=0.6)
print(result)
# parallel version
if (.Platform$OS.type=='windows') {
  library(doParallel)
  registerDoParallel(cores=4)
} else {
  library(doMC)
  registerDoMC(cores=4)
}
system.time(result <- randomPTF(SWAP$spec, SWAP$pH, fun=WA, do.parallel=TRUE, nTF=5000))
## End(Not run)

[Package rioja version 1.0-6 Index]