day.dist: Calculate average timing of events (doy)

View source: R/day.dist.R

day.distR Documentation

Calculate average timing of events (doy)

Description

Calculates the mean and standard deviation of the timing of annual events. Given a dataframe consisting of years in column one and a day of year (0-365 [366 for leap years]) in column two, day.dist returns the mean day of the year (doy) and standard deviation of days around the mean.

Circular statistics are used to account for the proximity of days close to the start and the end of the year (i.e. numbers close to 0 and 365), which would notionally have a mean of approximiately 182 (see Bayliss and Jones (1993)). The mean that is returned can be interpreted as a calendar day, and data that are strongly directional will have a standard deviation close to zero.

Usage

day.dist(Dates, days, years)

Arguments

Dates

A vector of POSIX dates from which days and years are extracted. If Dates are not provided, days and years must be

days

A vector of days in numeric format. Not required if POSIXct dates are provided

years

A vector of years in numeric format. Not required if POSIXct dates are provided

Value

A dataframe with two columns.

mean.doy

mean day of year events occur on

sd.doy

standard deviation indicating the spread of event timing

Author(s)

Nick Bond <n.bond@latrobe.edu.au>

References

Bayliss, A. C., Jones, R. C. (1993) Peaks-over-threshold flood database: Summary statistics and seasonality. Institute of Hydrology. Wallingford, UK.

Examples

days<-c(366,1,365,1,366)
years<-c("1968","1975","1983","1990","2004")
day.dist(days=days, years=years)

days<-c(170,180,1,365,170)
day.dist(days=days, years=years)

dates<-c("1968-06-18", "1975-06-29", "1983-01-01", "1990-12-31", "2004-06-18")
dates<-as.POSIXct(dates, format = "%Y-%m-%d", tz="")
day.dist(Dates=dates)


nickbond/hydrostats documentation built on June 10, 2022, 6:14 a.m.