classify_interactions {multiplestressR}R Documentation

Classify Interactions (for either null model)

Description

Using the output from either the effect_size_additive or effect_size_multiplicative functions, interactions can be assigned classifications (e.g., antagonisms or synergisms) based on the frameworks used by Burgess et al. (2021), or Jackson et al. (2016).

Usage

classify_interactions(
  effect_size_dataframe,
  assign_reversals,
  remove_directionality
)

Arguments

effect_size_dataframe

Output from either the effect_size_additive or effect_size_multiplicative functions.

assign_reversals

Specify whether reversals should be distinguished from antagonisms (see Jackson et al. (2016) (TRUE or FALSE; default = TRUE)

remove_directionality

Specify whether directionality should be removed from the effect sizes. This is most pertinent where subsequent analyses will involve conducting a formal meta-analysis (set value to TRUE). (TRUE or FALSE; default = FALSE)

Value

The function returns a dataset containing i) the same results as from either the effect_size_additive or effect_size_multiplicative functions.

ii) the classification of any interactions (see below)

iii) if remove_directionality = TRUE; effect sizes, and confidence intervals will be adjusted (see below)

For ii), interactions are classified in the following method.

a) if the confidence intervals for any effect size overlap zero then the interaction is assigned a null classification.

This is analogous to the classification of additive which other studies (e.g., Jackson et al. (2016)) may use.

Note that this is given precedence over the process described in b).

b) if the confidence intervals for any effect size do not overlap zero then Expected and Observed effects are calculated.

Where the additive null model has been used:

Expected = X_a + X_b - 2 * X_c

Observed = X_i - X_c

Where the multiplicative null model has been used:

Expected = ln(X_a) + ln(X_b) - 2 * ln(X_c)

Observed = ln(X_i) - ln(X_c)

Here X_c, X_a, X_b, and X_i correspond to the means of the control, stressor A, stressor B, and stressors A and B treatments respectively.

A synergistic classification is assigned where:

an effect size is positive and Expected is greater than zero.

or

an effect size is negative and Expected is less than zero.

An antagonistic classification is assigned where:

an effect size is negative and both Expected and Observed are greater than zero.

or

an effect size is positive and both Expected and Observed are less than zero.

A reversal classification is assigned where:

an effect size is negative and Expected is greater than zero but Observed is less than zero.

or

an effect size is positive and Expected is less than zero but Observed is greater than zero.

If assign_reversals = FALSE, then where a reversal would be assigned using the above method, it is simply assigned an antagonistic classification instead.

If remove_directionality = TRUE, then the following method is implemented.

Where an interaction has an Expected value <0, the corresponding effect size for this interaction has its polarity changed (i.e., ES = -ES).

Confidence intervals for these altered effect sizes are likewise updated.

The remove of directionality is only likely to be of concern for meta-analyses.

References

Burgess, B. J., Purves, D., Mace, G., & Murrell, D. J. (2021). Classifying ecosystem stressor interactions: Theory highlights the data limitations of the additive null model and the difficulty in revealing ecological surprises. Global Change Biology.

Jackson, M. C., Loewen, C. J., Vinebrooke, R. D., & Chimimba, C. T. (2016). Net effects of multiple stressors in freshwater ecosystems: a meta-analysis. Global Change Biology, 22(1), 180-189.

Examples


#loading up an example dataset from the multiplestressR package
df <- multiplestressR::survival

#calculating effect sizes
df <- effect_size_additive(Control_N         = df$Sample_Size_Control,
                           Control_SD        = df$Standard_Deviation_Control,
                           Control_Mean      = df$Mean_Control,
                           StressorA_N       = df$Sample_Size_Temperature,
                           StressorA_SD      = df$Standard_Deviation_Temperature,
                           StressorA_Mean    = df$Mean_Temperature,
                           StressorB_N       = df$Sample_Size_pH,
                           StressorB_SD      = df$Standard_Deviation_pH,
                           StressorB_Mean    = df$Mean_pH,
                           StressorsAB_N     = df$Sample_Size_Temperature_pH,
                           StressorsAB_SD    = df$Standard_Deviation_Temperature_pH,
                           StressorsAB_Mean  = df$Mean_Temperature_pH,
                           Significance_Level = 0.05);

#classifying interactions
df <- classify_interactions(effect_size_dataframe = df,
                   assign_reversals = TRUE,
                   remove_directionality = TRUE)



[Package multiplestressR version 0.1.1 Index]