kernelExceed(polar,
x = "wd",
y = "ws",
pollutant = "pm10",
type = "default",
by = c("day", "dayhour", "all"),
limit = 50,
data.thresh = 0,
more.than = TRUE,
cols = "default",
xlab = x,
ylab = y,
nbin = 256,
main = "",
auto.text = TRUE, ...)
date
and at
least three other numeric variables, typically ws
, wd
and a pollutant
.pollutant =
"nox"
by
determines how data above the limit
are
selected. by = "day"
will select all data (typically hours)
on days where the daily mean value is above
limit
. by = "dayhour"
pollutant
concentration will be considered.timeAverage
to daily
means. A value of zero means that all available data will be
used in a particular period regardless if of the number of
values avaiTRUE
data will be selected that are greater
than limit
. If FALSE
data will be selected that less
than limit
.cols = "black"
TRUE
(default) or FALSE
. If
TRUE
titles and axis labels will automatically try and format
pollutant names and units properly e.g. by subscripting the `2' in
NO2.kernelExceed
functions is for exploring the
conditions under which exceedances of air pollution limits
occur. Currently it is focused on the daily mean (European) Limit
Value for PM10 of 50~ug/m3 not to be exceeded on more than 35
days. However, the function is sufficiently flexible to consider other
limits e.g. could be used to explore days where the daily mean are
greater than 100~ug/m3.
By default the function will plot the kernel density estimate of wind
speed and wind directions for all days where the concentration of
pollutant
is greater than limit
. Understanding the
conditions where exceedances occur can help with source identification.
The function offers different ways of selecting the data on days where
the pollutant
are greater than limit
through setting
by
. By default it will select all data on days where
pollutant
is greater than limit
. With the default setting
of by
it will select all data on those days where
pollutant
is greater than limit
, even if individual data
(e.g. hours) are less than limit
. Setting by = "dayhour"
will additionally ensure that all data on the those dates are also
greater than limit
. Finally, by = "all"
will select all
values of pollutant
above limit, regardless of when they occur.
The usefulness of the function is greatly enhanced through using
type
, which conditions the data according to the level of another
variable. For example, type = "season"
will show the kernel
density estimate by spring, summer, autumn and winter and type =
"so2"
will attempt to show the kernel density estimates by quantiles
of SO2 concentration. By considering different values of type
it
is possible to develop a good understanding of the conditions under
which exceedances occur.
To aid interpretation the plot will also show the estimated
number of days or hours where exeedances occur. For type =
"default"
the number of days should exactly correspond to the actual
number of exceedance days. However, with different values of type
the number of days is an estimate. It is an estimate because conditioning
breaks up individual days and the estimate is based on the proportion of
data calculated for each level of type
.polarAnnulus
, polarFreq
, polarPlot
# Note! the manual contains other examples that are more illuminating
# basic plot
kernelExceed(mydata, pollutant = "pm10")
# condition by NOx concentrations
kernelExceed(mydata, pollutant = "pm10", type = "nox")
Run the code above in your browser using DataLab