Skip to contents

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.

Format

An R6Class 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


Method 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


Method 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.


Method 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.


Method print()

Print a TOXSWA_cwa object

Usage

TOXSWA_cwa$print()


Method 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

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)
#> <TOXSWA_cwa> 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