monthly_response_seascorr: monthly_response_seascorr

View source: R/monthly_response_seascorr.R

monthly_response_seascorrR Documentation

monthly_response_seascorr

Description

Function calculates all possible partial correlation coefficients between tree-ring chronology and monthly environmental (usually climate) data. All calculated (partial) correlation coefficients are stored in a matrix. The location of stored correlation in the matrix is indicating a window width (row names) and a location in a matrix of monthly sequences of environmental data (column names).

Usage

monthly_response_seascorr(
  response,
  env_data_primary,
  env_data_control,
  previous_year = FALSE,
  pcor_method = "pearson",
  remove_insignificant = TRUE,
  lower_limit = 1,
  upper_limit = 12,
  fixed_width = 0,
  alpha = 0.05,
  row_names_subset = FALSE,
  reference_window = "start",
  aggregate_function_env_data_primary = "mean",
  aggregate_function_env_data_control = "mean",
  temporal_stability_check = "sequential",
  k = 2,
  k_running_window = 30,
  subset_years = NULL,
  ylimits = NULL,
  seed = NULL,
  tidy_env_data_primary = FALSE,
  tidy_env_data_control = FALSE,
  boot = FALSE,
  boot_n = 1000,
  boot_ci_type = "norm",
  boot_conf_int = 0.95,
  month_interval = ifelse(c(previous_year == TRUE, previous_year == TRUE), c(-1, 12),
    c(1, 12)),
  dc_method = NULL,
  pcor_na_use = "pairwise.complete"
)

Arguments

response

a data frame with tree-ring proxy variable and (optional) years as row names. Row.names should be matched with those from env_data_primary and env_data_control data frame. If not, set the row_names_subset argument to TRUE.

env_data_primary

primary data frame of monthly sequences of environmental data as columns and years as row names. Each row represents a year and each column represents a day of a year. Row.names should be matched with those from the response data frame. If not, set the argument row_names_subset to TRUE. Alternatively, env_data_primary could be a tidy data with three columns, i.e. Year, Month and third column representing values of mean temperatures, sum of precipitation etc. If tidy data is passed to the function, set the argument tidy_env_data_primary to TRUE.

env_data_control

a data frame of monthly sequences of environmental data as columns and years as row names. This data is used as control for calculations of partial correlation coefficients. Each row represents a year and each column represents a day of a year. Row.names should be matched with those from the response data frame. If not, set the row_names_subset argument to TRUE. Alternatively, env_data_control could be a tidy data with three columns, i.e. Year, Month and third column representing values of mean temperatures, sum of precipitation etc. If tidy data is passed to the function, set the argument tidy_env_data_control to TRUE.

previous_year

if set to TRUE, env_data_primary, env_data_control and response variables will be rearranged in a way, that also previous year will be used for calculations of selected statistical metric.

pcor_method

a character string indicating which partial correlation coefficient is to be computed. One of "pearson" (default), "kendall", or "spearman", can be abbreviated.

remove_insignificant

if set to TRUE, removes all correlations bellow the significant threshold level, based on a selected alpha.

lower_limit

lower limit of window width (i.e. number of consecutive months to be used for calculations)

upper_limit

upper limit of window width (i.e. number of consecutive months to be used for calculations)

fixed_width

fixed width used for calculations (i.e. number of consecutive months to be used for calculations)

alpha

significance level used to remove insignificant calculations.

row_names_subset

if set to TRUE, row.names are used to subset env_data_primary, env_data_control and response data frames. Only years from all three data frames are kept.

reference_window

character string, the reference_window argument describes, how each calculation is referred. There are two different options: 'start' (default) and 'end'. If the reference_window argument is set to 'start', then each calculation is related to the starting month of window. If the reference_window argument is set to 'end', then each calculation is related to the ending day of window calculation.

aggregate_function_env_data_primary

character string specifying how the monthly data from env_data_primary should be aggregated. The default is 'mean', the two other options are 'median' and 'sum'

aggregate_function_env_data_control

character string specifying how the monthly data from env_data_control should be aggregated. The default is 'mean', the two other options are 'median' and 'sum'

temporal_stability_check

character string, specifying, how temporal stability between the optimal selection and response variable(s) will be analysed. Current possibilities are "sequential", "progressive" and "running_window". Sequential check will split data into k splits and calculate selected metric for each split. Progressive check will split data into k splits, calculate metric for the first split and then progressively add 1 split at a time and calculate selected metric. For running window, select the length of running window with the k_running_window argument.

k

integer, number of breaks (splits) for temporal stability

k_running_window

the length of running window for temporal stability check. Applicable only if temporal_stability argument is set to running window.

subset_years

a subset of years to be analyzed. Should be given in the form of subset_years = c(1980, 2005)

ylimits

limit of the y axes for plot_extreme. It should be given in the form of: ylimits = c(0,1)

seed

optional seed argument for reproducible results

tidy_env_data_primary

if set to TRUE, env_data_primary should be inserted as a data frame with three columns: "Year", "Month", "Precipitation/Temperature/etc."

tidy_env_data_control

if set to TRUE, env_data_control should be inserted as a data frame with three columns: "Year", "Month", "Precipitation/Temperature/etc."

boot

logical, if TRUE, bootstrap procedure will be used to calculate partial correlation coefficients

boot_n

The number of bootstrap replicates

boot_ci_type

A character string representing the type of bootstrap intervals required. The value should be any subset of the values c("norm","basic", "stud", "perc", "bca").

boot_conf_int

A scalar or vector containing the confidence level(s) of the required interval(s)

month_interval

a vector of two values: lower and upper time interval of months that will be used to calculate statistical metrics. Negative values indicate previous growing season months. This argument overwrites the calculation limits defined by lower_limit and upper_limit arguments.

dc_method

a character string to determine the method to detrend climate data. Possible values are "none" (default) and "SLD" which refers to Simple Linear Detrending

pcor_na_use

an optional character string giving a method for computing covariances in the presence of missing values for partial correlation coefficients. This must be (an abbreviation of) one of the strings "all.obs", "everything", "complete.obs", "na.or.complete", or "pairwise.complete.obs" (default). See also the documentation for the base partial.r in psych R package

Value

a list with 15 elements:

  1. $calculations - a matrix with calculated metrics

  2. $method - the character string of a method

  3. $metric - the character string indicating the metric used for calculations

  4. $analysed_period - the character string specifying the analysed period based on the information from row names. If there are no row names, this argument is given as NA

  5. $optimized_return - data frame with two columns, response variable and aggregated (averaged) monthly data that return the optimal results. This data.frame could be directly used to calibrate a model for climate reconstruction

  6. $optimized_return_all - a data frame with aggregated monthly data, that returned the optimal result for the entire env_data_primary (and not only subset of analysed years)

  7. $transfer_function - a ggplot object: scatter plot of optimized return and a transfer line of the selected method

  8. $temporal_stability - a data frame with calculations of selected metric for different temporal subsets

  9. $cross_validation - not available for partial correlation method

  10. $plot_heatmap - ggplot2 object: a heatmap of calculated metrics

  11. $plot_extreme - ggplot2 object: line plot of a row with the highest value in a matrix of calculated metrics

  12. $type - the character string describing type of analysis: monthly or monthly

  13. $reference_window - character string, which reference window was used for calculations

  14. $aggregated_climate_primary - matrix with all aggregated climate series of primary data

  15. $aggregated_climate_control - matrix with all aggregated climate series of control data

Examples


# Load the dendroTools R package
library(dendroTools)

# Load data
data(data_MVA)
data(data_TRW)
data(data_TRW_1)
data(example_proxies_individual)
data(example_proxies_1)
data(LJ_monthly_temperatures)
data(LJ_monthly_precipitation)

# 1 Basic example
example_basic <- monthly_response_seascorr(response = data_MVA,
   fixed_width = 11,
   env_data_primary = LJ_monthly_temperatures,
   env_data_control = LJ_monthly_precipitation,
   row_names_subset = TRUE,
   remove_insignificant = TRUE,
   reference_window = "start",
   aggregate_function_env_data_primary = 'median',
   aggregate_function_env_data_control = 'median',
   alpha = 0.05, pcor_method = "spearman",
   tidy_env_data_primary = FALSE,
   tidy_env_data_control = TRUE,
   previous_year = TRUE)

summary(example_basic)
plot(example_basic, type = 1)
plot(example_basic, type = 2)
example_basic$optimized_return
example_basic$optimized_return_all
example_basic$temporal_stability

# 2 Extended example
example_extended <- monthly_response_seascorr(response = data_MVA,
   env_data_primary = LJ_monthly_temperatures,
   env_data_control = LJ_monthly_precipitation,
   row_names_subset = TRUE,
   remove_insignificant = TRUE,
   aggregate_function_env_data_primary = 'mean',
   aggregate_function_env_data_control = 'mean',
   alpha = 0.05,
   reference_window = "end",
   tidy_env_data_primary = FALSE,
   tidy_env_data_control = TRUE)

summary(example_extended)
plot(example_extended, type = 1)
plot(example_extended, type = 2)
example_extended$optimized_return
example_extended$optimized_return_all



jernejjevsenak/dendroTools documentation built on Feb. 2, 2024, 7:13 p.m.