jezioro
User GuideThe jezioro
package is a collection of functions and datasets intended for use by members of the Paleoecological Environmental Assessment and Research Laboratory (PEARL). The package is maintained by Adam Jeziorski, and contains contributions from Adam Jeziorski, Joshua Thienpont, and Andrew Labaj. If you have any suggestions for its improvement please let us know.
The package includes the following functions (along with some example data sets to illustrate their use):
cladCount
: determine the number of individuals (and their relative abundances) represented in raw cladoceran subfossil datadipteranVWHO
: harmonize appropriately formatted chironomid/chaoborid sample data with the Quinlan and Smol (2001, 2010) calibration set, construct the VWHO inference model described in Quinlan and Smol (2001, 2010), infer VWHO from the sample data, and perform an analog matching analysis between the sample data and the calibration setinterpDates
: interpolate dates for the undated intervals of a dated sediment corequickGAM
: performs the GAM fitting procedure and related analyses described in Simpson 2018vrsChla
: infer lake sediment chlorophyll a concentrations from visible reflectance measurementsbinfordRho
: determine water content and dry sediment density for freeze-dried intervals of a sediment corebinfordActivity
: calculate 210Pb, 137Cs, and 214Bi activities corrected for the efficiency of the gamma counterbinfordDates
: use the unsupported fraction of 210Pb activity in sediment samples to calculate sediment ages via the Constant Rate of Supply (CRS) modelwiltseBrien
: perform the Brien test (Brien et al. 1984) on variables contained within a data framewiltseDecompose
: build upon the Brien test by identifying homogenous and coherent subsets within the correlation matrixThe package also contains some commonly used calibration sets to aid the construction of the relevant transfer functions for application to fossil assemblages:
tpHall1996
: diatom-inferred TP calibration set of 54 south-central Ontario lakes described in Hall and Smol (1996)vwhoQuinlan2010
: dipteran-inferred VWHO calibration set of 54 south-central Ontario lakes described in Quinlan and Smol (2001; 2010)The chirInfo
data set tabulates several aspects of chironomid taxonomy/ecology to facilitate manipulation of chironomid data (e.g. sorting by littoral/profundal habitat preferences)
cladCount
determines the maximum number of individuals represented in raw counts of cladoceran subfossils.
In paleolimnological cladoceran analyses, all remains (carapaces, headshields, ephippia, postabdominal claws, etc.) should be tabulated seperately, with only the most frequently encountered remain for each taxon used to estimate its abundance (Korhola and Rautio 2001). cladCount
is a function to quickly calculate the maximum number of individuals represented in appropriately formatted raw counts of subfossils.
Input data must contain the taxon name and subfossil name in the first two columns (respectively), with each subsequent column a sample/interval. If a taxon can be represented by more than one subfossil type, the ‘Taxon’ cell should be left blank from the second row onwards (these blank cells are how the function identifies the number of subfossils present for each taxon).
The required format of cladCount
input data is illustrated by cladCountInput
:
data(cladCountInput)
Taxon | Subfossil | X0.0.25 | X0.5.0.75 | X1.0.1.25 | X1.5.1.75 |
---|---|---|---|---|---|
Bosmina sp. | Antennule | 495 | 623 | 178 | 221 |
Carapace | 531 | 511 | 143 | 188 | |
D. longispina | PA Claw | 11 | 23 | 10 | 15 |
D. pulex | PA Claw | NA | NA | NA | NA |
Daphniid | Tail Stem | NA | NA | NA | NA |
Ephippia | NA | 1 | NA | NA | |
Acroperus harpae | Headshield | NA | NA | NA | NA |
Carapace | NA | NA | NA | NA | |
Postabdomen | NA | NA | NA | NA | |
Alona affinis | Headshield | NA | 1 | NA | NA |
The largest number of individuals possibly represented by all the subfossils for a particular taxon is identified by attributing the following numbers of each subfossil to an individual (rounding up in the case of ‘half-individuals’; Korhola and Rautio, 2001):
The output of cladCount
is controlled by three arguments (percCutoff, sampleCutoff, and outputType):
For example, to return the number of individuals for all taxa present in the dataset:
data(cladCountInput)
cladCount(cladCountInput)
Similarly, to return the relative abundances of only those taxa with greater than 4% abundance in at least 2 samples:
data(cladCountInput)
cladCount(cladCountInput, percCutoff=4, sampleCutoff=2, outputType='gt')
Korhola A, Rautio M (2001) 2. Cladocera and other branchiopod crustaceans. In: Smol JP, Birks HJB, Last WM (eds.) Tracking Environmental Change Using Lake Sediments. Volume 4: Zoological Indicators. Kluwer Academic Publishers, Dordrecht, The Netherlands, pp 4-41
dipteranVWHO
harmonizes chironomid/chaoborid count data with the taxonomy used in the Quinlan and Smol (2001, 2010) calibration set, returns the chironomid inferred volume weighted hypolimnetic oxygen concentrations (VWHO) from the sample data using the inference model described in Quinlan and Smol (2001, 2010), and also performs some analog matching between the sample data and the calibration set.
The required format of the input data is provided in an example data set dipteranVWHOInput
The output of dipteranVWHO
is modified by three arguments (evaluate, percentileCut, and lowCount):
The function returns a list of four lists:
In addition, three plots are produced:
For example, to perform the analyses on the example dataset using a modern analog cutoff of 10, and only flagging counts with less than 40 individuals as low:
data(dipteranVWHOInput)
dipteranVWHO(dipteranVWHOInput, evaluate=TRUE, percentileCut=10, lowCount=40)
Quinlan R, Smol JP (2001) Setting minimum head capsule abundance and taxa deletion criteria in chironomid-based inference models. Journal of Paleolimnology 26: 327-342
Quinlan R, Smol JP (2001) Chironomid-based inference models for estimating end-of-summer hypolimnetic oxygen from south-central Ontario shield lakes. Freshwater Biology 46: 1529-1551
Quinlan R, Smol JP (2010) Use of Chaoborus subfossil mandibles in models for inferring past hypolimnetic oxygen. Journal of Paleolimnology 44: 43-50
interpDates
interpolates dates for any undated intervals in a sediment core from the midpoint and age of the dated intervals, as well as the sectioning resolution.
Input data must contain two columns, and the argument intervalWidth is used to specifiy the sectioning resolution:
The required format of interpDates
input data:
## Midpt Age
## [1,] 0.25 2017
## [2,] 4.25 2000
## [3,] 8.25 1950
## [4,] 18.25 1850
The output of interpDates
is modified by a single argument (intervalWidth):
Three different interpolation methods are used to determine the dates:
For example, to return the interpolated dates from all 3 methods (as well as a plot comparing the two fitted lines) for a core with four dated intervals and a constant sectioning resolution of 0.5cm:
interpDates.input <- cbind(c(0.25, 4.25, 8.25, 18.25), c(2017, 2000, 1950, 1850))
interpDates(interpDates.input)
Similarly, to return interpolated dates for a core with four dated intervals sectioned at a 0.5cm resolution for the first 10 intervals, and then a 1.0cm resolution for the next 10 intervals:
interpDates.input <- cbind(c(0.25, 4.25, 8.5, 13.5), c(2017, 2000, 1950, 1850))
intervalWidth <- c(rep(0.5, 10), rep(1.0, 10))
interpDates(interpDates.input, intervalWidth)
For more involved approaches to the estimation of age-depth relationships consult Blaauw and Heegaard (2012).
Blaauw M, Heegaard E (2012) 12. Estimation of age-depth relationships. In: Birks HJB, Lotter AF, Juggins S, Smol JP (eds.) Tracking Environmental Change Using Lake Sediments. Volume 5: Data Handling and Numerical Techniques. Springer, Netherlands, pp 379-413
quickGAM
fits a GAM along with the related analyses described in Simpson 2018. This function applies the code provided in the Simpson 2018 Supplementary Information.
Input data must be composed of two vectors:
The output of ‘quickGAM’ is modified by three optional arguments, that can be used to ensure the axis labels and y-axis range remain consistent across all the output plots.
quickGAM
returns a series of six plots: - A simple scatterplot of the input data - Estimated CAR1 process from the GAM fitted to the input data ( i.e. an autocorrelation check) - GAM-based trends fitted to the input data - Estimated trends (w 20 random draws of the GAM fit to the input data) - 95% simultaneous confidence intervals (light grey) and across-the-function confidence intervals (dark grey) on the estimated trends. - Estimated first derivatives (black lines) and 95% simultaneous confidence intervals of the GAM trends fitted to the data. Where the simultaneous interval does not include 0, the models detect significant temporal change in the response.
For example, to fit a GAM between sediment depth (x) and the inferred-chlorophyll a values (y) provided in the example data set vrsChlaInput
:
Read in the example data set:
data(vrsChlaInput)
The optional arguments allow for consistent output plots.
indepVarLabel <- "Core Depth (cm)"
depenVarLabel <- expression("VRS-Inferred Chlorophyll "~italic("a")~" (mg"%.%"g"^"-1"*textstyle(")"))
depenVarRange <- c(0, 0.0825)
Note, that to use the default values for the plots, using ‘drop=FALSE’ when reading in data can preserve column names for use in the plots.
quickGAM(plotData[,1, drop=FALSE],plotData[,2, drop=FALSE], xLabel = indepVarLabel, yLabel = depenVarLabel, yRange = depenVarRange)
Simpson GL (2018) Modelling Palaeoecological Time Series Using Generalised Additive Models. Frontiers in Ecology and Evolution [https://dx.doi.org/10.3389/fevo.2018.00149]
vrsChla
infers chlorophyll a concentrations of sediments from spectral measurements of absorbance at wavelengths between 650-700 nm, following the approach described in Wolfe et al. (2006) and Michelutti et al. (2010), and reviewed in Michelutti and Smol (2016).
The technique uses a simple linear predictive model to infer sedimentary chlorophyll a concentrations (along with its primary degradation products, pheophytin a and pheophorbide a) from the absorbance peak centered on 675nm following the equation:
\[[\mbox{chlorophyll }\textit{a } + \mbox{ derivatives}] = 0.0919 · \mbox{peak area}_{\textit{ 650-700 nm}} + 0.0011\]
Input data must contain 27 columns:
The required format of vrsChla
input data is illustrated by vrsChlaInput
:
data(vrsChlaInput)
## V1 V2 V3 V4 V5 V6
## 1 0.125 -0.01127052 -0.011009693 -0.010835648 -0.010232449 -0.009695530
## 2 0.625 0.04971433 0.049901485 0.050267935 0.050736427 0.051381111
## 3 1.125 0.02501535 0.025347233 0.025770903 0.026331663 0.026941776
## 4 1.625 0.00387764 0.004512548 0.005248785 0.006270409 0.007355452
## 5 2.125 0.12109232 0.121597052 0.122285128 0.123096704 0.123881340
## 6 2.625 0.08708549 0.087878942 0.088815451 0.089810133 0.090915442
## 7 2.875 0.09193444 0.092756271 0.093790054 0.094962120 0.096058369
## 8 3.125 0.12888002 0.129751921 0.130694628 0.131823540 0.132953167
## 9 3.375 0.14781332 0.148777962 0.150153875 0.151404858 0.152652025
## 10 3.625 0.14603949 0.146726370 0.147392273 0.148148060 0.148859501
NOTE: When using the Model 6500 series Rapid Content Analyzer at PEARL, the necessary values are contained in the ‘spectra’ tab of the excel file output (although they must be transposed). Ensure cells are formatted to 15 decimal places to avoid small rounding errors.
For example, to determine the chlorophyll a concentrations of vrsChlaInput
and plot sediment depth vs chlorophyll a (red line denotes the estimated 0.01 mg·g-1 lower detection limit of the method):
data(vrsChlaInput)
vrsChla(vrsChlaInput)
## Core Depth(cm) VRS-chla (mg/g dry wt)
## 0.125 0.125 0.06494843
## 0.625 0.625 0.06644944
## 1.125 1.125 0.06280798
## 1.625 1.625 0.06702306
## 2.125 2.125 0.05817330
## 2.625 2.625 0.06380211
## 2.875 2.875 0.06380395
## 3.125 3.125 0.06278935
## 3.375 3.375 0.06421350
## 3.625 3.625 0.05209778
## 4.125 4.125 0.03456333
## 4.625 4.625 0.03337810
## 5.625 5.625 0.03569502
## 6.625 6.625 0.03621289
## 7.625 7.625 0.03546140
## 8.625 8.625 0.03306788
## 9.625 9.625 0.03115285
## 10.625 10.625 0.03463507
## 12.125 12.125 0.03816895
## 14.125 14.125 0.03872123
## 16.25 16.250 0.03733796
## 18.25 18.250 0.03783319
## 20.25 20.250 0.03743845
## 22.25 22.250 0.03734743
## 24.75 24.750 0.03583932
Michelutti N, Blais JM, Cumming BF, Paterson AM, Ruhland K, Wolfe AP, Smol JP (2010) Do spectrally inferred determinations of chlorophyll a reflect trends in lake trophic status? Journal of Paleolimnology 43: 208-217
Michelutti N, Smol JP (2016) Visible spectroscopy reliably tracks trends in paleo production. Journal of Paleolimnology 56: 253-265
Wolfe AP, Vinebrooke RD, Michelutti N, Rivard B, Das B (2006) Experimental calibration of lake-sediment spectral reflectance to chlorophyll a concentrations: methodology and paleolimnological validation. Journal of Paleolimnology 36: 91-100
The binford series are three functions to calculate 210Pb dates via gamma spectroscopy using the gamma counters at PEARL.
The functions are intended to be ran in sequence with the output of binfordRho
and binfordActivity
providing the input for binfordDates
. In practice, binfordRho
and binfordDates
each be run once, while binfordActivity
will be run repeatedly as individual samples pass through the gamma counter, until background activities are obtained.
NOTE: These functions were rendered obsolete by the lab’s adoption of ScienTissiME. The principal use of these functions now is to rexamine cores originally dated prior to 2013.
binfordRho
determines the water content and dry sediment density for the intervals of a sediment core freeze-dried in preparation for gamma dating, from the dry masses of the freeze-dried intervals and the bag weights of wet sediment. The values for intervening (i.e. non-prepared samples) are interpolated.
Input data must contain seven columns:
The required format of binfordRho
input data is illustrated by binfordRhoInput
:
data(binfordRhoInput)
## INTTOP INTBOT WT_SED.BAG WT_VIAL WT_VIAL.SED WT_FD WT_GAMMA
## 1 0.0 0.5 40.708 4.4962 25.0668 4.8176 0.2973
## 2 0.5 1.0 22.096 NA NA NA NA
## 3 1.0 1.5 23.702 4.4440 16.6752 4.9897 0.2904
## 4 1.5 2.0 23.967 NA NA NA NA
## 5 2.0 2.5 26.835 4.4318 13.9454 4.8161 0.2392
## 6 2.5 3.0 24.104 NA NA NA NA
## 7 3.0 3.5 27.126 4.4935 13.5784 4.9403 0.3109
## 8 3.5 4.0 21.238 NA NA NA NA
## 9 4.0 4.5 25.018 4.4203 13.6092 4.9234 0.4791
## 10 4.5 5.0 25.632 NA NA NA NA
NOTE: Columns 1-3 must have values for the entire core length. Columns 4-7 will only have values for the intervals prepared for dating by freeze-drying, with the values for non-prepared intervals left blank. If the entire “Whirlpak” bag was freeze-dried (i.e. subsample=FALSE), then Columns 4-5 should be left blank and the mass (g) of the bag of sediment after freeze drying entered into Column 6.
The output of binfordRho
is controlled by three arguments (bagwt, subsample, and coreD):
For example, to calculate water content and sediment densities for the example dataset, assuming a larger “Whirlpak” bag was used along with core tubes 6.8cm in diameter.
data(binfordRhoInput)
binfordRho(binfordRhoInput, bagwt=5, coreD=6.8)
## INTTOP INTBOT CUM_TOP CUM_BOT RHO WT_GAMMA %WATER
## 1 0 0.5 0.00000000 0.01536232 0.03072463 0.2973 98.43758
## 3 1 1.5 0.02954111 0.05251662 0.04595103 0.2904 95.53846
## 5 2 2.5 0.07471555 0.09900239 0.04857368 0.2392 95.96052
## 7 3 3.5 0.12256237 0.15252557 0.05992640 0.3109 95.08195
## 9 4 4.5 0.17576051 0.20593943 0.06035785 0.4791 94.52492
## 11 5 5.5 0.24061371 0.27507072 0.06891403 0.3503 93.26823
## 13 6 6.5 0.32823277 0.37051459 0.08456364 0.4776 91.19125
## 15 7 7.5 0.42535831 0.46384942 0.07698223 0.5465 91.98512
## 17 8 8.5 0.52092132 0.55458306 0.06732348 0.5136 93.22647
## 19 9 9.5 0.58975123 0.62068049 0.06185851 0.5316 94.42333
The output table from binfordRho
is intended to be used as input for binfordDates
and has seven columns:
binfordActivity
calculates the activity of the 210Pb, 137Cs, and 214Bi isotopes, corrected for the efficiency of the gamma counter device, and the time between sediment core collection and analysis, using the approaches described in Schelske et al. (1994).
Input data must contain 14 columns:
binfordRho
)The required format of binfordActivity
input data is illustrated by binfordActivityInput
:
data(binfordActivityInput)
## INTTOP INTBOT DATECORR ROI1 ROI2 ROI3 ROI4 ROI5 ROI6 ROI7 ROI8 ROI9 WTinTube
## 1 0 0.5 1378 436 3438 301 117 293 116 64 447 85 0.2973
## 2 1 1.5 1379 427 2593 324 108 254 121 85 469 95 0.2904
## 3 2 2.5 1402 364 1689 343 113 272 100 92 571 77 0.2392
## 4 3 3.5 1381 390 1540 339 119 267 110 93 1405 92 0.3109
## 5 4 4.5 1382 383 1903 318 112 312 108 81 1122 84 0.4791
## 6 5 5.5 1383 342 1335 305 101 340 100 108 334 82 0.3503
## 7 6 6.5 1384 384 1143 333 142 313 105 76 432 99 0.4776
## 8 7 7.5 1386 371 1197 329 118 312 114 93 376 93 0.5465
## 9 8 8.5 1387 387 1139 363 114 348 109 79 276 84 0.5136
## 10 9 9.5 1388 380 1093 347 117 346 100 83 252 97 0.5316
## HTinTube
## 1 17.49
## 2 16.11
## 3 13.95
## 4 15.05
## 5 19.86
## 6 14.58
## 7 16.85
## 8 21.56
## 9 16.90
## 10 21.28
NOTE: Columns 1 and 2 must have values for all samples prepared for gamma analysis (the same values entered into Columns 1 and 2 of binfordRho
), but no values for columns 3-9 in cases where samples have not yet been run or are not required (in cases where background has been reached).
The output of binfordActivity
is controlled by the following arguments:
NOTE: It is very important to use the correct background and error measurements (e.g. PbBk, PbBkErr, etc.). That is, the values specific to both the gamma counter used and the time period when the samples were measured.
binfordActivity
is intended to be run in an iterative fashion, following analysis of each sample. Allowing accurate and timely determination of when supported levels of 210Pb have been reached, in order to avoid the superfluous analysis of samples beyond background.
For example, to calculate activities for the example dataset, using the default error values (i.e. 0), label the plot as “Example Lake”, and use Bq/g for y-axis units:
data(binfordActivityInput)
binfordActivity(binfordActivityInput, LakeName="Example Lake", graph.units="dpm")
## 1-IntMidPt 13-Corr210Pbdpm/g 14-Corr214Bidpm/g 15-Corr137Csdpm/g
## [1,] 0.25 186.45133 3.155498 7.885814
## [2,] 1.25 127.75996 1.327469 7.718795
## [3,] 2.25 80.16393 3.723037 12.776567
## [4,] 3.25 51.91043 1.864952 30.112587
## [5,] 4.25 53.71708 3.076308 16.119178
## [6,] 5.25 38.97262 6.026509 3.140015
## [7,] 6.25 18.35455 2.146762 4.207493
## [8,] 7.25 20.00793 2.387269 2.858559
## [9,] 8.25 15.63049 3.782753 1.721648
## [10,] 9.25 15.07627 3.945691 1.110404
## 16-Corr210PbErr 17-Corr214BiErr 18-Corr137CsErr 8DateCorr
## [1,] 3.5875932 0.4073730 0.4568129 1378
## [2,] 2.9768021 0.2654937 0.4540467 1379
## [3,] 2.5581337 0.4846981 0.6372372 1402
## [4,] 1.8228218 0.3025352 0.8621209 1381
## [5,] 1.5493881 0.3207272 0.5210590 1382
## [6,] 1.4858174 0.5111618 0.2616680 1383
## [7,] 0.8892811 0.2642481 0.2624562 1384
## [8,] 0.8974784 0.2669048 0.2073817 1386
## [9,] 0.7924971 0.3383397 0.1619591 1387
## [10,] 0.7880495 0.3473987 0.1308624 1388
The output table from binfordActivity
is intended to be used as input for binfordDates
and has eight columns:
Schelske CL, Peplow A, Brenner M, Spencer CN (1994) Low-background gamma counting: applications for 210Pb dating of sediments Journal of Paleolimnology 10: 115-128
binfordDates
uses the unsupported fraction of 210Pb activity in sediment samples to calculate sediment ages via the Constant Rate of Supply (CRS) model following the procedures outlined in Binford (1990).
binfordDates
uses the output of binfordRho
and binfordActivity
as its input data.
The ouput of binfordDates
is controlled by six arguments:
binfordRho
binfordActivity
For example, to calculate sediment ages for the example datasets using only default values.
data(binfordRhoInput)
data(binfordActivityInput)
binfordDates(binfordRho(binfordRhoInput), binfordActivity(binfordActivityInput))
## IntTop IntBot IntMid TTop SDTTop TBot SDTBot
## [1,] 0 0.5 0.25 0.000000 0.4407564 3.26871 0.4606641
## [2,] 1 1.5 1.25 7.019656 0.4915594 11.39749 0.5247710
## [3,] 2 2.5 2.25 15.437263 0.5697980 19.06310 0.6055140
## [4,] 3 3.5 3.25 22.644247 0.6570124 26.15597 0.7011100
## [5,] 4 4.5 4.25 30.210184 0.7756481 34.98192 0.8630570
## [6,] 5 5.5 5.25 39.990819 0.9879124 45.27071 1.1151969
## [7,] 6 6.5 6.25 49.749534 1.2652105 53.31285 1.3645382
## [8,] 7 7.5 7.25 57.350785 1.5329747 62.00455 1.7164785
## [9,] 8 8.5 8.25 66.311116 1.9494666 70.18202 2.1501244
## [10,] 9 9.5 9.25 74.266927 2.4303624 78.60159 2.7287821
## [11,] 10 10.5 10.25 83.420629 3.1575594 88.86899 3.6556172
## [12,] 11 11.5 11.25 94.440144 4.3269285 100.11232 4.9534720
## [13,] 12 12.5 12.25 106.351501 5.9823887 113.33566 7.1571318
## [14,] 13 13.5 13.25 117.228995 8.0356998 118.77682 8.0450324
## [15,] 14 14.5 14.25 119.708328 8.1912900 120.19669 7.1853897
## [16,] 15 15.5 15.25 123.576068 7.8593053 137.59213 11.2031782
## [17,] 16 16.5 16.25 148.139140 15.4089896 153.89718 17.2313759
## [18,] 17 17.5 17.25 158.775412 19.8285582 162.62516 19.6962646
## SedRate SDSedRate SumTop DTop DBot DMid CICDMid
## [1,] 0.003929542 0.001633692 27.2457380 2006.000 2002.731 2004.366 NA
## [2,] 0.004577556 0.001981123 21.8960229 1998.980 1994.603 1996.791 NA
## [3,] 0.005767852 0.002607509 16.8471369 1990.563 1986.937 1988.750 NA
## [4,] 0.007339500 0.003247421 13.4604433 1983.356 1979.844 1981.600 NA
## [5,] 0.005486955 0.002740202 10.6350164 1975.790 1971.018 1973.404 NA
## [6,] 0.005699163 0.003273415 7.8426987 1966.009 1960.729 1963.369 NA
## [7,] 0.010408756 0.005754960 5.7874780 1956.250 1952.687 1954.469 NA
## [8,] 0.007260205 0.004743017 4.5676263 1948.649 1943.995 1946.322 NA
## [9,] 0.007605892 0.005512012 3.4555061 1939.689 1935.818 1937.753 NA
## [10,] 0.006185345 0.005233332 2.6972291 1931.733 1927.398 1929.566 NA
## [11,] 0.005487408 0.005490688 2.0282609 1922.579 1917.131 1919.855 NA
## [12,] 0.007458420 0.008235403 1.4391188 1911.560 1905.888 1908.724 NA
## [13,] 0.005484142 0.007747158 0.9931350 1899.648 1892.664 1896.156 NA
## [14,] 0.027660222 0.037705295 0.7077858 1888.771 1887.223 1887.997 NA
## [15,] 0.141813971 0.194635253 0.6551964 1886.292 1885.803 1886.047 NA
## [16,] 0.003081727 0.006505194 0.5808506 1882.424 1868.408 1875.416 NA
## [17,] 0.006555040 0.015949262 0.2703181 1857.861 1852.103 1854.982 NA
## [18,] 0.012091862 0.032564116 0.1941024 1847.225 1843.375 1845.300 NA
## OrgSedRate
## [1,] 0
## [2,] 0
## [3,] 0
## [4,] 0
## [5,] 0
## [6,] 0
## [7,] 0
## [8,] 0
## [9,] 0
## [10,] 0
## [11,] 0
## [12,] 0
## [13,] 0
## [14,] 0
## [15,] 0
## [16,] 0
## [17,] 0
## [18,] 0
The output table from binfordDates
has 15 columns:
NOTE: The outpuy from binfordDates
lends itself to use with interpDates
:
data(binfordRhoInput)
data(binfordActivityInput)
dates <- binfordDates(binfordRho(binfordRhoInput), binfordActivity(binfordActivityInput))
dates <- dates[,c(3,13)]
interpDates(dates, 0.5)
Binford MW (1990) Calculation and uncertainty analysis of 210PB dates for PIRLA project lake sediment cores. Journal of Paleolimnology 3: 253-267
The Wiltse functions wiltseBrien
and wiltseDecompose
test for homogeneity and coherence within a dataset. They are slightly modified (so that they no longer write to the global environment) versions of the ‘brien’ and ‘decompose’ functions described in Brendan Wiltse’s 2014 PhD thesis.
wiltseBrien
performs the Brien test (Brien et al. 1984) on variables contained within a data frame, calculating the grand mean, main effects interactions and equal correlation for a correlation matrix of the z-scored data and returns the degrees of freedom, chi-squared value and p-value for each test.
The input data should be a data frame with the variables to be tested arranged in columns with appropriate column names. An example data set is provided by `wiltseInput’ that contains dates in column 1, and the rest of the columns are PCA axis-1 scores for the dominant diatom taxa in 8 lakes in the ELA. A plot of the data shows the trends through time.
data(wiltseInput)
matplot(wiltseInput$Date, wiltseInput[,-match("Date", colnames(wiltseInput))], ylim=c(-4,4),bty="n", type="l", xlab="Year", ylab="PCA Axis 1 Score")
An initial run of the Brien test (on just the PCA Axis 1 scores) with wiltseBrien
:
wiltseBrien(wiltseInput[,-match("Date", colnames(wiltseInput))])
## Variables: ELA99 ELA127 ELA129 ELA224 ELA256 ELA373 ELA377 ELA468
## Grand Mean: 0.527589797820197
##
## d.f. chi2 p.value
## Grand Mean: 1 124.06873 8.202132e-29
## Main Effects: 7 26.24642 3.751345e-04
## Interactions: 20 59.36389 6.338163e-06
## Equal Correlation: 27 85.61030 3.719850e-08
## Total: 28 NA NA
wiltseDecompose
builds upon the Brien’s test by identifying homogenous and coherent subsets within the correlation matrix.
An initial test for homogeneity and coherence within the correlation matrix is performed. If heterogeneity is detected (a homogenous matrix fails to reject the null-hypothesis for the tests of main effects, interactions and equal correlations), then the lake with lowest mean correlation within the matrix is deleted and the test is rerun on the reduced matrix. This process is repeated until the remaining variables are both homogenous and synchronous (i.e. fail to reject the null-hypothesis for the grand mean).
To run wiltseDecompose
on the wiltseInput
data:
wiltseDecompose(wiltseInput[,-match("Date", colnames(wiltseInput))], print.detail=T)
## Variables: ELA99 ELA127 ELA129 ELA224 ELA256 ELA373 ELA377 ELA468
## Grand Mean: 0.527589797820197
##
## d.f. chi2 p.value
## Grand Mean: 1 124.06873 8.202132e-29
## Main Effects: 7 26.24642 3.751345e-04
## Interactions: 20 59.36389 6.338163e-06
## Equal Correlation: 27 85.61030 3.719850e-08
## Total: 28 NA NA
## Variables: ELA99 ELA127 ELA129 ELA256 ELA373 ELA377 ELA468
## Grand Mean: 0.63562420393666
##
## d.f. chi2 p.value
## Grand Mean: 1 138.41445 5.957086e-32
## Main Effects: 6 24.34432 3.831811e-04
## Interactions: 14 17.99283 9.119922e-02
## Equal Correlation: 20 42.33714 1.506839e-03
## Total: 21 NA NA
## Variables: ELA99 ELA127 ELA129 ELA256 ELA373 ELA377
## Grand Mean: 0.705984718662483
##
## d.f. chi2 p.value
## Grand Mean: 1 133.666217 6.511469e-31
## Main Effects: 5 21.971915 4.639594e-04
## Interactions: 9 9.166436 1.811283e-01
## Equal Correlation: 14 31.138351 3.424950e-03
## Total: 15 NA NA
## Variables: ELA99 ELA127 ELA256 ELA373 ELA377
## Grand Mean: 0.804148403797215
##
## d.f. chi2 p.value
## Grand Mean: 1 130.87001 2.663532e-30
## Main Effects: 4 12.50544 1.203781e-02
## Interactions: 5 4.46482 2.691544e-01
## Equal Correlation: 9 16.97026 3.159480e-02
## Total: 10 NA NA
## Variables: ELA127 ELA256 ELA373 ELA377
## Grand Mean: 0.885491285715812
##
## d.f. chi2 p.value
## Grand Mean: 1 111.231412 5.311683e-26
## Main Effects: 3 2.671024 3.429837e-01
## Interactions: 2 1.339305 5.118865e-01
## Equal Correlation: 5 4.010329 2.875789e-01
## Total: 6 NA NA
## Coherent Subset: ELA127 ELA256 ELA373 ELA377
## 0.8854913
##
## Significance Tests
## d.f. chi2 p.value
## Grand Mean: 1 111.231412 5.311683e-26
## Main Effects: 3 2.671024 3.429837e-01
## Interactions: 2 1.339305 5.118865e-01
## Equal Correlation: 5 4.010329 2.875789e-01
## Total: 6 NA NA
Through the decomposition process, first Lake 224 was removed, then Lake 468, then Lake 129 and finally Lake 199:
To test for synchrony among just the removed lakes (224, 468, 129 and 99):
wiltseBrien(wiltseInput[,match(c("ELA224", "ELA468", "ELA129", "ELA99"), colnames(wiltseInput))])
## Variables: ELA224 ELA468 ELA129 ELA99
## Grand Mean: 0.370599293858987
##
## d.f. chi2 p.value
## Grand Mean: 1 9.757892 0.001942507
## Main Effects: 3 5.227122 0.133664534
## Interactions: 2 1.705634 0.426212625
## Equal Correlation: 5 6.932756 0.151617317
## Total: 6 NA NA
matplot(wiltseInput$Date, wiltseInput[,match(c("ELA224", "ELA468", "ELA129", "ELA99"), colnames(wiltseInput))], ylim=c(-4,4),bty="n", type="l", xlab="Year", ylab="PCA Axis 1 Score")
Even though the matrix was determined to be both synchronous and homogenous, Lake 99 looks like it might be doing something different. Therefore to run the test without Lake 99:
wiltseBrien(wiltseInput[,match(c("ELA224", "ELA468", "ELA129"), colnames(wiltseInput))])
## Variables: ELA224 ELA468 ELA129
## Grand Mean: 0.547863182654154
##
## d.f. chi2 p.value
## Grand Mean: 1 1.125565e+01 0.0008553053
## Main Effects: 2 2.622699e+00 0.2694562052
## Interactions: 0 1.092007e-30 0.0000000000
## Equal Correlation: 2 2.622699e+00 0.2694562052
## Total: 3 NA NA
matplot(wiltseInput$Date, wiltseInput[,match(c("ELA224", "ELA468", "ELA129"), colnames(wiltseInput))], ylim=c(-4,4),bty="n", type="l", xlab="Year", ylab="PCA Axis 1 Score")
Brien CJ, Venables WN, James AT, Mayo O (1984) An analysis of correlation matrices: equal correlations. Biometrika 71: 545-54
Rusak JA, Yan ND, Somers KM, McQueen DJ (1999) The temporal coherence of zooplankton population abundances in neighboring north-temperate lakes. The American Naturalist 153: 46–58
Wiltse B (2014) The response of Discostella species to climate change at the Experimental Lakes Area, Canada. PhD Thesis Queen’s University
tpHall1996
contains the total phosphorus (TP) measurements and sedimentary diatom assemblage data for the 54 lake south-central Ontario calibration set from Hall and Smol (1996). The purpose of this dataset is to facilitate reproducing the described diatom-inferred TP model for application to down-core diatom sedimentary assemblage data.
The 425x57 data frame is composed of the following:
Column 1: Code
Column 2: Genus (of the diatom taxa)
Column 3: Species (of the diatom taxa)
Column 4-57: Relative abundance data (%) of the diatom taxa in each study lake
Row 1: Total phosphorus (TP) measurements (µg/L) for each lake
Rows 2-425: Diatom relative abundance data by taxon
NOTE: The genus/species names included in the data frame are those used in Hall and Smol (1996). Due to changes in taxonomic nomenclature since its publication, applying the model to more recent data will likely require some taxonomic harmonization.
Hall RI, Smol JP (1996) Paleolimnological assessment of long-term water-quality changes in south-central Ontario lakes affected by cottage development and acidification. Canadian Journal of Fisheries and Aquatic Sciences 53: 1-17
vwhoQuinlan2010
contains the the volume-weighted hypolimnetic oxygen (VWHO) concentrations and sedimentary midge (chironomid and chaoborid) assemblage data for the 54 lake south-central Ontario calibration set from Quinlan and Smol (2001, 2010). The purpose of this dataset is to facilitate reproducing the described midge-inferred VWHO model for application to down-core midge sedimentary assemblage data.
The 54x47 data frame is composed of the following:
Information on each lake (i.e. latitude, longitude, etc.) and the 44 taxa included in the model are provided in Quinlan and Smol (2001, 2010).
NOTE: The taxonomic information included in the data frame are those used in Quinlan and Smol (2001,2010). Due to changes in taxonomic nomenclature since its publication, applying the model to more recent data will likely require some taxonomic harmonization.
Quinlan R, Smol JP (2001) Chironomid-based inference models for estimating end-of-summer hypolimnetic oxygen from south-central Ontario shield lakes. Freshwater Biology 46: 1529-1551
Quinlan R, Smol JP (2010) Use of Chaoborus subfossil mandibles in models for inferring past hypolimnetic oxygen. Journal of Paleolimnology 44: 43-50
chirInfo
is a data frame tabulating several aspects of chironomid ecology into a single file to facilitate sorting/manipulating chironomid data files. The data frame is currently organized as follows:
Brooks SJ, Langdon PG, Heiri O (2007) The identification and use of Palaearctic Chironomidae larvae in paleoecology. Quat Res (London): Technical Guide no. 10.
Coffman WP (1978) Chironomidae. pp. 345-376. In: Merrit, RW, Cummins KW (Eds). An introduction of aquatic insects of North America. Kendall Hunt Publishing, Dubuque, 441p
Quinlan R, Smol JP (2001) Chironomid-based inference models for estimating end-of-summer hypolimnetic oxygen from south-central Ontario shield lakes. Freshwater Biology 46: 1529-1551
Quinlan R, Smol JP (2010) Use of Chaoborus subfossil mandibles in models for inferring past hypolimnetic oxygen. Journal of Paleolimnology 44: 43-50
General
Additions
quickGAM
(performs the GAM fitting procedure and related analyses described in Simpson 2018)return.detail
added to wiltseDecompose
to allow return of the full list output for further manipulationGeneral
Additions
dipteranVWHO
(to aid in reconstructing VWHO using chironomid count info and the vwhoQuinlan2010
calibration set)dipteranVWHOInput
(example input data for the above)chirInfo
(table summarizing several aspects of chironomid ecology)Modifications
vrsChla
: the generated plot now displays points rather than a linevrsChla
: logical argument ‘profilePlot’ added to control whether plot is generatedReorganization
jezioro-vignette
has been renamed jezioroGuide
. Accessed with the command vignette(“jezioroGuide”)Additions
wiltseBrien
and wiltseDecompose
(from Brendan Wiltse’s 2014 PhD thesis)wiltseInput
(Dates + PCA Axis 1 scores of major diatom taxa x 8 lakes)Reorganization
chl.a
/chl.a.input
are now vrsChla
/vrsChlaInput
clad.count
/clad.count.input
are now cladCount
/cladCountInput
rho
/rho.input
are now binfordRho
/binfordRhoInput
activity
/activity.input
are now binfordActivity
/binfordActivityInput
dates
is now binfordDates
Additions
tpHall1996
is the diatom-inferred TP calibration set described in Hall and Smol 1996 ((TP (ug/L) + 424 diatom taxa) x 54 lakes)Modifications
cladCount
: the argument lakeCutoff has been renamed sampleCutoffcladCountInput
: the column names ‘Species’ and ‘Remain’ have been renamed to ‘Taxon’ and ‘Subfossil’ respectivelyinterpDates
: can now be applied to cores that have variable sectioning resolution (the argument intervalWidth will accept a vector)vwhoQuinlan2010
: is now a data frame and has been reformatted slightlyAdditions
interpDates
vwhoQuinlan2010
is the dipteran-inferred VWHO calibration set described in Quinlan and Smol 2010 (54 lakes x (45 midge taxa + VWHO (mg/L))Modifications
Modifications
activity
: the logical argument dpm has been replaced with the argument graph.units (two valid options ‘dpm’(default) or ‘bq’)activity.input
: fixed description of ‘HTinTube’ in the help filedates
: arguments d and a have been renamed rho.output and activity.output to simplify running the three functions sequentially