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.
Also shown is the Pearson correlation value for the association between
pollutant and a numeric value of type. For example, if
pollutant = "pm10" and type = "so2" then the Pearson
correlation coefficient is that between PM10 and SO2. This helps to
determine how good the relationship is between PM10 and SO2 for
different levels of SO2.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