Learn R Programming

circular (version 0.3-7)

plot.edf: Plot Circular Empirical Distribution Function

Description

Plots the empirical distribution function of a circular data set.

Usage

## S3 method for class 'edf':
plot(x, type = "s", xlim = c(0, 2 * pi), ylim = c(0, 1), ...)
## S3 method for class 'edf':
lines(x, type = "s", \dots)

Arguments

x
vector of circular data measured.
type, xlim, ylim
plotting parameters with useful defaults. xlim is in radians.
...
optional graphical parameters. See help section on par.

Details

The vector of data is taken modulo 2*pi, and then the linear ranks are used to generate an empirical distribution function.

See Also

plot.ecdf, curve.circular and par.

Examples

Run this code
# Compare the edf's of two simulated sets of data.
data1 <- rvonmises(n=10, mu=circular(0), kappa=3)
data2 <- rvonmises(n=10, mu=circular(0), kappa=1)
plot.edf(data1, xlab="Data", ylab="EDF", main="Plots of Two EDF's")
lines.edf(data2, lty=2, col=2)

#You can use standard ecdf and plot.ecdf functions
ff <- function(x, data) {
     x <- x     data <- data     temp <- ecdf(data)
     temp(x)
}
plot(function(x) ff(x, data=data1), from=0, to=2*pi-3*.Machine$double.eps)

#Or curve.circular
plot.function.circular(function(x) ff(x, data=data1), from=0, to=(2*pi-3*.Machine$double.eps), join=FALSE, nosort=TRUE, xlim=c(-2,2), ylim=c(-2,2), modulo="asis", main="Empirical Distribution Function", n=2001, tcl.text=0.25)

res <- plot.function.circular(function(x) ff(x, data=data2), from=0, to=(2*pi-3*.Machine$double.eps), join=FALSE, nosort=TRUE, modulo="asis", add=TRUE, col=2, n=2001)

res1 <- points(data1, plot.info=res)
points(data2, plot.info=res1, col=2, sep=0.05)

legend(-1.9, 1.9, legend=c("data1", "data2"), col=c(1,2), lty=c(1,1))

Run the code above in your browser using DataLab