randwin {climwin} | R Documentation |
Climate window analysis for randomised data
Description
Randomises biological data and carries out a climate window analysis. Used to help determine the chance of obtaining an observed result at random.
Usage
randwin(
exclude = NA,
repeats = 5,
window = "sliding",
xvar,
cdate,
bdate,
baseline,
stat,
range,
func,
type,
refday,
cmissing = FALSE,
cinterval = "day",
spatial = NULL,
cohort = NULL,
upper = NA,
lower = NA,
binary = FALSE,
centre = list(NULL, "both"),
k = 0,
weightfunc = "W",
par = c(3, 0.2, 0),
control = list(ndeps = c(0.01, 0.01, 0.01)),
method = "L-BFGS-B",
cutoff.day = NULL,
cutoff.month = NULL,
furthest = NULL,
closest = NULL,
thresh = NULL,
cvk = NULL
)
Arguments
exclude |
Two values (distance and duration) which allow users to exclude short-duration long-lag climate windows from analysis (e.g., windows with a duration of 10 days which occur over a month ago). These windows are often considered to be biologically implausible. |
repeats |
The number of times that data will be randomised and analysed for climate windows. |
window |
Whether randomisations are carried out for a sliding window ("sliding") or weighted window ("weighted") approach. |
xvar |
A list object containing all climate variables of interest. Please specify the parent environment and variable name (e.g. Climate$Temp). |
cdate |
The climate date variable (dd/mm/yyyy). Please specify the parent environment and variable name (e.g. Climate$Date). |
bdate |
The biological date variable (dd/mm/yyyy). Please specify the parent environment and variable name (e.g. Biol$Date). |
baseline |
The baseline model structure used for testing correlation. Currently known to support lm, glm, lmer and glmer objects. |
stat |
If window = "sliding"; The aggregate statistic used to analyse the climate data. Can
currently use basic R statistics (e.g. mean, min), as well as slope.
Additional aggregate statistics can be created using the format function(x)
(...). See FUN in |
range |
Two values signifying respectively the furthest and closest number of time intervals (set by cinterval) back from the cutoff date or biological record to include in the climate window search. |
func |
The functions used to fit the climate variable. Can be linear ("lin"), quadratic ("quad"), cubic ("cub"), inverse ("inv") or log ("log"). |
type |
"absolute" or "relative", whether you wish the climate window to be relative (e.g. the number of days before each biological record is measured) or absolute (e.g. number of days before a set point in time). |
refday |
If type is absolute, the day and month respectively of the year from which the absolute window analysis will start. |
cmissing |
cmissing Determines what should be done if there are missing climate data. Three approaches are possible: - FALSE; the function will not run if missing climate data is encountered. An object 'missing' will be returned containing the dates of missing climate. - "method1"; missing climate data will be replaced with the mean climate of the preceding and following 2 days. - "method2"; missing climate data will be replaced with the mean climate of all records on the same date. |
cinterval |
The resolution at which climate window analysis will be conducted. May be days ("day"), weeks ("week"), or months ("month"). Note the units of parameter 'range' will differ depending on the choice of cinterval. |
spatial |
A list item containing: 1. A factor that defines which spatial group (i.e. population) each biological record is taken from. The length of this factor should correspond to the length of the biological dataset. 2. A factor that defines which spatial group (i.e. population) climate data corresponds to. This length of this factor should correspond to the length of the climate dataset. |
cohort |
A variable used to group biological records that occur in the same biological season but cover multiple years (e.g. southern hemisphere breeding season). Only required when type is "absolute". The cohort variable should be in the same dataset as the variable bdate. |
upper |
Cut-off values used to determine growing degree days or positive climate thresholds (depending on parameter thresh). Note that when values of lower and upper are both provided, climatewin will instead calculate an optimal climate zone. |
lower |
Cut-off values used to determine chill days or negative climate thresholds (depending on parameter thresh). Note that when values of lower and upper are both provided, climatewin will instead calculate an optimal climate zone. |
binary |
TRUE or FALSE. Determines whether to use values of upper and lower to calculate binary climate data (thresh = TRUE), or to use for growing degree days (thresh = FALSE). |
centre |
A list item containing: 1. The variable used for mean centring (e.g. Year, Site, Individual). Please specify the parent environment and variable name (e.g. Biol$Year). 2. Whether the model should include both within-group means and variance ("both"), only within-group means ("mean"), or only within-group variance ("dev"). |
k |
If window = "sliding"; the number of folds used for k-fold cross validation. By default this value is set to 0, so no cross validation occurs. Value should be a minimum of 2 for cross validation to occur. |
weightfunc |
If window = "weighted"; the distribution to be used for optimisation. Can be either a Weibull ("W") or Generalised Extreme Value distribution ("G"). |
par |
If window = "weighted"; the shape, scale and location parameters of the Weibull or GEV weight function used as start weight function. For Weibull : Shape and scale parameters must be greater than 0, while location parameter must be less than or equal to 0. For GEV : Scale parameter must be greater than 0. |
control |
If window = "weighted";
parameters used to determine step size for the optimisation
function. Please see |
method |
If window = "weighted";
the method used for the optimisation function. Please see
|
cutoff.day , cutoff.month |
Redundant parameters. Now replaced by refday. |
furthest , closest |
Redundant parameters. Now replaced by range. |
thresh |
Redundant parameter. Now replaced by binary. |
cvk |
Redundant parameter. Now replaced by k. |
Value
Returns a dataframe containing information on the best climate
window from each randomisation. See MassRand
as an example.
Author(s)
Liam D. Bailey and Martijn van de Pol
Examples
#Simple test example
#Create data from a subset of our test dataset
#Just use two years
biol_data <- Mass[1:2, ]
clim_data <- MassClimate[grep(pattern = "1979|1986", x = MassClimate$Date), ]
rand <- randwin(repeats = 1, xvar = list(Temp = clim_data$Temp),
cdate = clim_data$Date,
bdate = biol_data$Date,
baseline = lm(Mass ~ 1, data = biol_data),
range = c(1, 0),
type = "relative", stat = "mean",
func = c("lin"), cmissing = FALSE, cinterval = "day")
## Not run:
# Full working examples
## EXAMPLE 1 ##
# Test climate windows in randomised data using a sliding window approach.
data(Mass)
data(MassClimate)
# Randomise data twice
# Note all other parameters are fitted in the same way as the climatewin function.
rand <- randwin(repeats = 2, window = "sliding",
xvar = list(Temp = MassClimate$Temp),
cdate = MassClimate$Date, bdate = Mass$Date,
baseline = lm(Mass ~ 1, data = Mass),
range = c(100, 0),
stat = "mean", func = "lin", type = "absolute",
refday = c(20, 5),
cmissing = FALSE, cinterval = "day")
# View output #
head(rand)
## EXAMPLE 2 ##
# Test climate windows in randomised data using a weighted window approach.
data(Offspring)
data(OffspringClimate)
# Randomise data twice
# Note all other parameters are fitted in the same way as the weightwin function.
weightrand <- randwin(repeats = 2, window = "weighted",
xvar = list(Temp = OffspringClimate$Temperature),
cdate = OffspringClimate$Date,
bdate = Offspring$Date,
baseline = glm(Offspring ~ 1, family = poisson, data = Offspring),
range = c(365, 0), func = "quad",
type = "relative", weightfunc = "W", cinterval = "day",
par = c(3, 0.2, 0), control = list(ndeps = c(0.01, 0.01, 0.01)),
method = "L-BFGS-B")
# View output
head(weightrand)
## End(Not run)