Leave-one-out cross-validation as
rioja
(https://cran.r-project.org/package=rioja).
cv.w(
modern_taxa,
modern_climate,
nPLS = 5,
trainfun,
predictfun,
usefx = FALSE,
fx_method = "bin",
bin = NA,
cpus = 4,
test_mode = FALSE,
test_it = 5
)
The modern taxa abundance data, each row represents a sampling site, each column represents a taxon.
The modern climate value at each sampling site.
The number of components to be extracted.
Training function you want to use, either
WAPLS.w
or TWAPLS.w
.
Predict function you want to use: if trainfun
is
WAPLS.w
, then this should be WAPLS.predict.w
;
if trainfun
is TWAPLS.w
, then this should be
TWAPLS.predict.w
.
Boolean flag on whether or not use fx
correction.
Binned or p-spline smoothed fx
correction: if
usefx = FALSE
, this should be NA
; otherwise,
fx
function will be used when choosing "bin";
fx_pspline
function will be used when choosing "pspline".
Binwidth to get fx, needed for both binned and p-splined method.
if usefx = FALSE
, this should be NA
;
Number of CPUs for simultaneous iterations to execute, check
parallel::detectCores()
for available CPUs on your machine.
boolean flag to execute the function with a limited number
of iterations, test_it
, for testing purposes only.
number of iterations to use in the test mode.
leave-one-out cross validation results
fx
, TWAPLS.w
,
TWAPLS.predict.w
, WAPLS.w
, and
WAPLS.predict.w
if (FALSE) {
# Load modern pollen data
modern_pollen <- read.csv("/path/to/modern_pollen.csv")
# Extract taxa
taxaColMin <- which(colnames(modern_pollen) == "taxa0")
taxaColMax <- which(colnames(modern_pollen) == "taxaN")
taxa <- modern_pollen[, taxaColMin:taxaColMax]
## LOOCV
test_mode <- TRUE # It should be set to FALSE before running
cv_tf_Tmin2 <- fxTWAPLS::cv.w(
taxa,
modern_pollen$Tmin,
nPLS = 5,
fxTWAPLS::TWAPLS.w2,
fxTWAPLS::TWAPLS.predict.w,
usefx = TRUE,
fx_method = "bin",
bin = 0.02,
cpus = 2, # Remove the following line
test_mode = test_mode
)
# Run with progress bar
`%>%` <- magrittr::`%>%`
cv_tf_Tmin2 <- fxTWAPLS::cv.w(
taxa,
modern_pollen$Tmin,
nPLS = 5,
fxTWAPLS::TWAPLS.w2,
fxTWAPLS::TWAPLS.predict.w,
usefx = TRUE,
fx_method = "bin",
bin = 0.02,
cpus = 2, # Remove the following line
test_mode = test_mode
) %>% fxTWAPLS::pb()
}