# R6 class for holding TOXSWA water concentration data and associated statistics An R6 class for holding TOXSWA water concentration (cwa) data and some associated statistics. like maximum moving window average concentrations, and dataframes holding the events exceeding specified thresholds. Usually, an instance of this class will be generated by [read.TOXSWA_cwa](https://pkgdown.jrwb.de/pfm/reference/read.TOXSWA_cwa.md). ## Format An [R6::R6Class](https://r6.r-lib.org/reference/R6Class.html) generator object. ## Public fields - `filename`: Length one character vector holding the filename. - `basedir`: Length one character vector holding the directory where the file came from. - `zipfile`: If not null, giving the path to the zip file from which the file was read. - `segment`: Length one integer, specifying for which segment the cwa data were read. - `substance`: The TOXSWA name of the substance. - `cwas`: Dataframe holding the concentrations. - `events`: List of dataframes holding the event statistics for each threshold. - `windows`: Matrix of maximum time weighted average concentrations (TWAC_max) and areas under the curve in µg/day \* h (AUC_max_h) or µg/day \* d (AUC_max_d) for the requested moving window sizes in days. ## Methods ### Public methods - [`TOXSWA_cwa$new()`](#method-TOXSWA_cwa-initialize) - [`TOXSWA_cwa$moving_windows()`](#method-TOXSWA_cwa-moving_windows) - [`TOXSWA_cwa$get_events()`](#method-TOXSWA_cwa-get_events) - [`TOXSWA_cwa$print()`](#method-TOXSWA_cwa-print) - [`TOXSWA_cwa$clone()`](#method-TOXSWA_cwa-clone) ------------------------------------------------------------------------ ### `TOXSWA_cwa$new()` Create a TOXSWA_cwa object from a file #### Usage TOXSWA_cwa$new( filename, basedir, zipfile = NULL, segment = "last", substance = "parent", total = FALSE ) #### Arguments - `filename`: The filename - `basedir`: The directory to look in - `zipfile`: Optional path to a zipfile holding the file - `segment`: Either "last" or the number of the segment for which to read the data - `substance`: The TOXSWA substance name (for TOXSWA 4 or higher) - `total`: Should total concentrations be read in? If FALSE, free concentrations are read ------------------------------------------------------------------------ ### `TOXSWA_cwa$moving_windows()` Add to the `windows` field described above. #### Usage TOXSWA_cwa$moving_windows(windows, total = FALSE) #### Arguments - `windows`: Window sizes in days - `total`: If TRUE, the total concentration including the amount adsorbed to suspended matter will be used. ------------------------------------------------------------------------ ### `TOXSWA_cwa$get_events()` Populate a datataframe with event information for the specified threshold value. The resulting dataframe is stored in the `events` field of the object. #### Usage TOXSWA_cwa$get_events(thresholds, total = FALSE) #### Arguments - `thresholds`: Threshold values in µg/L. - `total`: If TRUE, the total concentration including the amount adsorbed to suspended matter will be used. ------------------------------------------------------------------------ ### `TOXSWA_cwa$print()` Print a `TOXSWA_cwa` object #### Usage TOXSWA_cwa$print() ------------------------------------------------------------------------ ### `TOXSWA_cwa$clone()` The objects of this class are cloneable with this method. #### Usage TOXSWA_cwa$clone(deep = FALSE) #### Arguments - `deep`: Whether to make a deep clone. ## Examples ``` r H_sw_R1_stream <- read.TOXSWA_cwa("00003s_pa.cwa", basedir = "SwashProjects/project_H_sw/TOXSWA", zipfile = system.file("testdata/SwashProjects.zip", package = "pfm")) H_sw_R1_stream$get_events(c(2, 10)) H_sw_R1_stream$moving_windows(c(7, 21)) print(H_sw_R1_stream) #> data from file 00003s_pa.cwa segment 20 #> datetime t t_firstjan t_rel_to_max cwa_mug_per_L #> 20 1978-10-01 00:00:00 0.000 273.0000 -55.333 0 #> 40 1978-10-01 01:00:00 0.042 273.0417 -55.291 0 #> 60 1978-10-01 02:00:00 0.083 273.0833 -55.250 0 #> 80 1978-10-01 03:00:00 0.125 273.1250 -55.208 0 #> 100 1978-10-01 04:00:00 0.167 273.1667 -55.166 0 #> 120 1978-10-01 05:00:00 0.208 273.2083 -55.125 0 #> cwa_tot_mug_per_L #> 20 0 #> 40 0 #> 60 0 #> 80 0 #> 100 0 #> 120 0 #> Moving window analysis #> window max_TWAC max_AUC_h max_AUC_d #> 1 7 days 2.3926551 401.9660 16.74859 #> 2 21 days 0.8369248 421.8101 17.57542 #> Event statistics for threshold 2 #> t_start cwa_max duration pre_interval AUC_h AUC_d #> 1 44.375 4.167238 0.208 44.375 17.77202 0.740501 #> 2 55.042 40.584010 0.583 10.459 398.21189 16.592162 #> Event statistics for threshold 10 #> t_start cwa_max duration pre_interval AUC_h AUC_d #> 1 55.083 40.58401 0.459 55.083 379.433 15.80971 ```