Calculate an empirical confidence region for two variables, and optionally overlay the smooth polygon on a scatterplot.
conf2d(x, ...)# S3 method for formula
conf2d(formula, data, subset, ...)
# S3 method for default
conf2d(x, y, level=0.95, n=200, method="wand", shape=1, smooth=50,
plot=TRUE, add=FALSE, xlab=NULL, ylab=NULL, col.points="gray",
col="black", lwd=2, ...)
conf2d_int(x, y, surf, level, n) # internal function
List containing five elements:
x coordinates defining the region.
y coordinates defining the region.
logical vector indicating which of the original data coordinates are inside the region.
area inside the region.
actual proportion of points inside the region.
a vector of x values, or a data frame whose first two columns contain the x and y values.
a vector of y values.
a formula, such as y~x.
a data.frame, matrix, or list from
which the variables in formula should be taken.
an optional vector specifying a subset of observations to be used.
the proportion of points that should be inside the region.
the number of regions to evaluate, before choosing the region
that matches level best.
kernel smoothing function to use: "wand" or
"mass".
a bandwidth scaling factor, affecting the polygon shape.
the number of bins (scalar or vector of length 2), affecting the polygon smoothness.
whether to plot a scatterplot and overlay the region as a polygon.
whether to add a polygon to an existing plot.
a label for the x axis.
a label for the y axis.
color of points.
color of polygon.
line width of polygon.
further arguments passed to plot and
polygon.
a list whose first three elements are x coordinates, y coordinates, and a surface matrix.
Arni Magnusson and Julian Burgos, based on an earlier function by Gregory R. Warnes.
This function constructs a large number (n) of smooth polygons,
and then chooses the polygon that comes closest to containing a given
proportion (level) of the total points.
The default method="wand" calls the
bkde2D kernel smoother from the
KernSmooth package, while method="mass" calls
kde2d from the MASS package.
The conf2d function calls bkde2D or kde2d to
compute a smooth surface from x and y. If users already
have a smoothed surface to work from, the internal conf2d_int
can be used directly to find the empirical confidence region that
matches level best.
quantile is the corresponding univariate equivalent.
The distfree.cr package uses a different smoothing algorithm to calculate bivariate empirical confidence regions.
ci2d in the gplots package is a predecessor of
conf2d.
freq2d calculates a discrete frequency distribution for
two continuous variables.
r2d2-package gives an overview of the package.
conf2d(Ushape)$prop
conf2d(saithe, pch=16, cex=1.2, col.points=rgb(0,0,0,0.1), lwd=3)
# First surface, then region
plot(saithe, col="gray")
surf <- MASS::kde2d(saithe$Bio, saithe$HR, h=0.25, n=100)
region <- conf2d_int(saithe$Bio, saithe$HR, surf, level=0.95, n=200)
polygon(region, lwd=2)
Run the code above in your browser using DataLab